xiaoqiugood的个人博客分享 http://blog.sciencenet.cn/u/xiaoqiugood

博文

bader电荷分析再谈

已有 62009 次阅读 2014-10-19 20:22 |个人分类:电子结构计算|系统分类:科研笔记

关注:

1) bader电荷的定义及其物理意义

2) 计算参数设置

3) 与Mulliken charge或Natural orbital analysis的区别  wannier函数

原子电荷:Hirshfeld <Mulliken<Bader


分析某一轨道的布居住



操作小结:

(1)STEP-3 电荷求和


chgsum.pl AECCAR0 AECCAR2

再运行

bader CHGCAR -ref CHGCAR_sum


得到ACF.dat等,查看即可得到得失电子的关系

【注意:ACF.dat中原子坐标为笛卡尔坐标】



(2)Procedures for vasp


do a vasp SCF calculation with LAECHG=.True. and larger NGXF/NGYF/NGZF;


type chgsum AECCAR0 AECCAR2 to get a sum-up CHGCAR_sum;


type bader CHGCAR -ref CHGCAR_sum to generate the result file;


type getCharges to get a easy list of atomic charge;

bader help


bader -h will give the help information.


(3)技术小结:主要是增加NG(X,Y,Z)F 的值直到total charge is correct

这时NUMBER OF ELECTRONS 为整数,反之NUMBER OF ELECTRONS 带小数,则说明总电荷没有对,需要增加NG(X,Y,Z)F 的值。

NGXF=120

NGYF=120

NGZF=120


(4) 运行结果摘录


bader CHGCAR -ref CHGCAR_sum


 GRID BASED BADER ANALYSIS  (Version 0.28a 07/12/12)


 OPEN ... CHGCAR              

 VASP-STYLE INPUT FILE

VASP5 format

Density-grid  100 x 100 x 100

 CLOSE ... CHGCAR              


 RUN TIME:    0.40 SECONDS


 OPEN ... CHGCAR_sum          

 VASP-STYLE INPUT FILE

VASP5 format

Density-grid  100 x 100 x 100

 CLOSE ... CHGCAR_sum          


 RUN TIME:    0.41 SECONDS


 CALCULATING BADER CHARGE DISTRIBUTION

                0  10  25  50  75  100

 PERCENT DONE:  **********************


 REFINING AUTOMATICALLY

 ITERATION: 1

 EDGE POINTS:        168342

 REASSIGNED POINTS:    5738

 ITERATION: 2

 CHECKED POINTS:      83478

 REASSIGNED POINTS:       0


 RUN TIME:       2.59 SECONDS


 CALCULATING MINIMUM DISTANCES TO ATOMS

                0  10  25  50  75  100

 PERCENT DONE:  **********************


 RUN TIME:    0.36 SECONDS


 WRITING BADER ATOMIC CHARGES TO ACF.dat

 WRITING BADER VOLUME CHARGES TO BCF.dat


 NUMBER OF BADER MAXIMA FOUND:             10

     SIGNIFICANT MAXIMA FOUND:             10

          NUMBER OF ELECTRONS:       30.00000



Bader Charge Analysis

http://www.mse-project.org/wiki/doku.php?id=bader_charge_analysis


Concept

Real space charge analysis is based on the definition of atom shape and volume. However, it is always difficult to define atom in electron density maps, due to the fact there is no sharp boundary at all. As a result, charge analysis such as Mulliken charge are empirical and qualitative.  

Bader charge analysis is based on a more reasonable definition of interatom boundary. The boundary is defined as zero-flux surface, a 2D surface on which the charge density is a minimum perpendicular to the surface. The charge enclosed with the surface is a good approximation to the atomic charge.  

Analysis

Analysis is based on real-space charge density grid, which is contained in CHGCAR in VASP.

With VASP

In general, VASP output only valence charge density in CHGCAR. It may be more reasonable to do Bader analysis based on total charge density which includes both valence charge density and core charge density. This can be achieved by adding LAECHG=.True. into the INCAR file. The core charge is then written to AECCAR0 and the valence charge is written to AECCAR2. The total charge density can be obtained by adding them up.  

It is also important to use a fine fft grid to get accurate core charge, by doing test calculation with increasing NGXF/NGYF/NGZF.  

Procedures for vasp

  1. do a vasp SCF calculation with LAECHG=.True. and larger NGXF/NGYF/NGZF;

  2. type chgsum AECCAR0 AECCAR2 to get a sum-up CHGCAR_sum;

  3. type bader CHGCAR -ref CHGCAR_sum to generate the result file;

  4. type getCharges to get a easy list of atomic charge;

bader help

bader -h will give the help information.


SYSTEM = ScB2
PREC = Accurate
ENCUT = 400
EDIFF = 1.4e-5
ISMEAR = 1
SIGMA = 0.2
LAECHG = True
NGXF = 180
NGYF = 180
NGZF = 180
NELMDL = -8
LCHARG = TRUE
LWAVE = FALSE



参考网址:

http://blog.sina.com.cn/s/blog_4d0316950100x6xa.html


http://theory.cm.utexas.edu/bader/


http://theory.cm.utexas.edu/vtsttools/scripts/#chgsum


http://theory.cm.utexas.edu/vtsttools/bader/vasp.php



一步计算方法1:thanks to Hui Wang


先发一个布局数分析的帖子吧。需要到bader analysis 下载两个脚本,chsum.pl,
bader ,
1。在静态计算时,在INCAR 中加入LAECHARG 参数,并设置LAECHG =.TRUE.
运算完毕会生成AECCAR0 AECCAR1 AECCER2,


然后运行

chsum.pl AECCAR0 AECCAR2


会生成CHARGCAR_sum 文件,



2.然后运行
bader CHGCAR -ref CHGCAR_sum


其中ACF.dat 就包含价电子的电荷信息。


有几点要注意:
A. Bader 只支持PAW 的方法,
B。需要vasp4.6.31 以及以上版本。
C.计算电荷布局分析时,需要比较密的FFT 网格,可以通过NG(X,Y,Z) F来调整,增大这些量,知道总的电荷数目正确。
D。Bader 电荷布居分析基于电荷密度。
E和Mulliken ,Hirhfeld 分析比较,原子电荷:Hirshfeld <Mulliken<Bader .
F 现在还不能分析某一个轨道的 电荷布居情况,不过很快就可以了,新版本将具有这个功能
转自:http://blog.chinaunix.net/u2/85704/showart_2389207.html


对于脚本:

SYSTEM = ScB2
PREC = Accurate
ENCUT = 400
EDIFF = 1.4e-5
ISMEAR = 1
SIGMA = 0.2
LAECHG = True
NGXF = 180
NGYF = 180
NGZF = 180
NELMDL = -8
LCHARG = TRUE

LWAVE = FALSE



两步计算方法分析,thanks to XinWang:

   

Step-1 静态计算得到CHG* WAVECAR


SYSTEM = xxx

ENCUT = 400
ISMEAR=-5
#SIGMA=0.01
NELMDL=-5
NELMIN=4  
 #默认值2
EDIFF=0.00001
EDIFFG=-0.0001
NSW=0
ISIF=0
NGX=180
NGY=180
NGZ=180  
#需要实现均匀分割吗?
NGXF=180
NGYF=180
NGZF=180
IBRION=-1

POTIM=0.3








Step-2 将静态计算得到CHG* WAVECAR考入本目录

并加入LAECHG

SYSTEM = xxx

ENCUT = 400
ISMEAR=1   #
ISMEAR=0; SIGMA=0.01

SIGMA=0.2
NELMDL=-5
NELMIN=4

EDIFF=0.00001
EDIFFG=-0.0001
NSW=0
ISIF=0
LAECHG=.TRUE.
NGX=180
NGY=180
NGZ=180
NGXF=180
NGYF=180
NGZF=180

IBRION=1
POTIM=0.1

得到文件AECCAR0 AECCAR1 AECCAR2

CHGCAR和上述三个文件,考入LINUX下,


STEP-3 电荷求和


chgsum.pl AECCAR0 AECCAR2

再运行

bader CHGCAR -ref CHGCAR_sum


得到ACF.dat等,查看即可得到得失电子的关系

【注意:ACF.dat中原子坐标为笛卡尔坐标】



殊途同归,上述两种方法计算结果都是一样的:

From the methond of Huiwang

cat ACF.dat

   #        X           Y           Z        CHARGE     MIN DIST   ATOMIC VOL

--------------------------------------------------------------------------------

   1     0.0000      0.0000      0.0000     1.9118     1.0085     8.6323

   2     0.0000      2.2691      2.2691      1.8657     1.0085     8.2809

   3     2.2691      0.0000      2.2691      1.8657      1.0085      8.2809

   4     2.2691      2.2691     0.0000      1.8657      1.0085      8.2809

   5     2.2691      2.2691      2.2691   10.1228      1.2354    14.9976

   6     2.2691      0.0000      0.0000    10.1228      1.2354     14.9976

   7     0.0000      2.2691      0.0000    10.1228      1.2354     14.9976

   8     0.0000      0.0000      2.2691    10.1228      1.2354     14.9976

--------------------------------------------------------------------------------

   VACUUM CHARGE:               0.0000

   VACUUM VOLUME:               0.0000

  NUMBER OF ELECTRONS:       48.0000



From the methond of XinWang

cat ACF.dat

  #         X           Y           Z        CHARGE     MIN DIST   ATOMIC VOL

--------------------------------------------------------------------------------

  1      0.0000      0.0000      0.0000      1.9118     1.0085      8.6323

  2      0.0000      2.2691      2.2691      1.8656      1.0085      8.2809

  3      2.2691      0.0000      2.2691      1.8656      1.0085      8.2809

  4      2.2691      2.2691      0.0000      1.8656      1.0085      8.2809

   5     2.2691      2.2691      2.2691    10.1228      1.2354     14.9976

  6      2.2691      0.0000      0.0000    10.1228      1.2354     14.9976

  7      0.0000      2.2691      0.0000    10.1228      1.2354     14.9976

  8      0.0000      0.0000      2.2691    10.1228      1.2354     14.9976

--------------------------------------------------------------------------------

  VACUUM CHARGE:              0.0000

  VACUUM VOLUME:              0.0000

  NUMBER OF ELECTRONS:       48.0000



参数解释


IBRION=-1for NSW=0 or NSW=1
=0else



IBRION=-1 No update; ions are not moved, but NSW outer loops are performed. In each outer loop the electronic degrees of freedom are re-optimized (for NSW$ >$0 this obviously does not make much sense, except for test purposes). If no ionic update is required use NSW=0 instead.


IBRION=1

For IBRION=1, a quasi-Newton (variable metric) algorithm is used to relax  the ions into their instantaneous groundstate. The forces and the stress tensor are used to determine the search directions for finding the equilibrium positions  (the total energy is not taken into account). This algorithm is very fast and efficient clos


POTIM-tag

POTIM= [real]

Default:
no default, must be set by userif IBRION=0 (MD)
POTIM= 0.5if IBRION=1,2,3 (relaxation)



In case IBRION=0 (MD) , POTIM specifies the time step in fs. For IBRION=1,2 or 3, POTIM serves as a scaling constant for the forces.

POTIM supplies the time step  for an ab-initio molecular dynamics (IBRION=0), and must be entered by the user for all MD simulations.

In addition POTIM severs as a ``scaling constant'' in all minimization algorithms (quasi-Newton, conjugate gradient, and damped molecular dynamics).  Especially the Quasi-Newton algorithm is sensitive to the choice of this parameter (see section IBRION6.22).







Default:


NELM=60
NELMIN=2
NELMDL=-5if ISTART=0, INIWAV=1, and IALGO=8
NELMDL=-12if ISTART=0, INIWAV=1, and IALGO=48 (VASP.4.4)
NELMDL=0else



NELM gives the maximum number of electronic SC (selfconsistency)  steps which may be performed. Normally, there is no need to change the default value: if the self-consistency loop does not converge within 40 steps, it will probably not converge at all. In this case you should reconsider the tags IALGO, (ALGO), LDIAG , and the mixing-parameters.


NELMIN gives the minimum number of electronic SC steps. Generally you do not need to change this setting. In some cases (for instance MD's, or ionic relaxation) you might set NELMIN to a larger value (4 to 8) (see section 9.7).  


NELMDL gives the  number of non-selfconsistent steps at the beginning;  if one initializes the orbitals randomly the initial orbitals are far from anything reasonable.  The resulting charge density is also 'nonsense'. Therefore it makes sense to keep the initial Hamiltonian, which corresponds to the superposition of atomic charge densities, fixed  during the first few steps.  

Choosing a 'delay' for starting the charge density update becomes essential in all cases where the SC-convergence is very bad (e.g. surfaces or molecules/clusters,  chains).  Without setting a delay VASP will probably not converge or at least the convergence speed is slowed down.

  NELMDL might be positive or negative. A positive number means that a delay is  applied after each ionic movement -- in general not a convenient option. A negative value results in a delay only for the start-configuration






NGX, NGY, NGZ and NGXF, NGYF, NGZF-tags

NGX, NGY, NGZ controls the number of grid-points in the FFT-mesh  along the directions of the three lattice-vectors. X corresponds to the first, Y to the second  and Z to the third lattice-vector (X,Y and Z are not connected with cartesian coordinates,  don't be fooled by the historical naming conventions).  

NGXF, NGYF, NGZF controls the number of grid-points for a second, finer FFT-mesh. On this mesh the localized augmentation charges are represented if ultrasoft (US) Vanderbilt potentials or the PAW method are used. In addition, local potentials (exchange-correlation, Hartree-potential and ionic potentials)  are also calculated on this second finer FFT-mesh if (and only if)  US-pseudopotentials are used.

Mind: There is no need to set NGXF to a value larger than NGX, if you do not use US-pseudopotential or the PAW method.  In this case ,neither the charge density nor the local potentials are set on the fine mesh. The only result is a considerable waste of storage. In this case set NGXF, NGYF, NGZF simply to 1.  

In VASP.4.X all parameters are determined during runtime, either defaults are used - Sec. 6.11 or 5.23 - or NGX etc. are read from the INCAR file, see Sec. 6.3).






摘录学习


http://blog.sciencenet.cn/blog-671981-639719.html

Mulliken电荷是一种计算原子partial charge(局部电荷)的方法。本来,电子是在空间分布的一团电子云,但是广大玩计算的同志希望能有一种更简洁的方法来描述这种混沌不清的分布,看看谁多谁少,谁剥削了谁,因此计算原子电荷就非常流行,称为布局分析(population analysis),通俗说,如何在原子间分割大家共同的家产。大致说先后提出了三种分割家产的思路。

第一类是以原子轨道对分子轨道的贡献划分。其中最著名的是Mulliken童鞋1955年提出的Mulliken population analuysis. Mullken认为,如果两个原子共用了一些电子对,那么电子可以分成3部分,属于A的(净原子布居), 属于B的, 和共同的(重叠布居)。最公平的方法是,把大家共同拥有的一分为二,各拿一半,加上自己原有的,就是你的局部电荷。怎么计算净原子布居和重叠布居?根据分子轨道中的原子轨道系数。 因为分子轨道是原子轨道的线性组合,假设两原子核外各有一条电子轨道A, B组成了一个电子对分子轨道C=xA+yB,总电荷等于波函数的平方:|C|^2=2个电子;

仔细看这个公式,谁是谁的不用说了吧。。。类似依轨道划分的还有所谓NBO电荷,Born电荷。

第二种分割思路是按波函数节点划分,这就是Bader charge, 依据所谓的AIM理论,atom in molecule。Bader童鞋非常愤青,经常用很犀利的语言驳斥各种电荷划分。他说依轨道划分类似于在两原子间砍了一刀,各拿一半,这是没有任何物理意义的。那么什么叫有物理意义?他说你这一刀砍下去,要顺着波函数的节点砍下去。我们知道波函数的节点是波函数变号的地方,对应的电荷密度为0. 他说这是电子云空间分割最理想最天然的分割点,比你那轨道划分好5倍,呵呵。不可否认,分子轨道的空间节点可以显示成键的中心位置等信息,的确是一种比较好的划分方法。

第三种思路,都是搞力场的童鞋感兴趣的,叫ESP电荷,包括原装ESP, 改进版的ChelpG, Hershifiled等方法。搞力场的童鞋说,你们搞切割的,虽然思路清晰,但是我拿到我的力场中一用,计算静电作用,发现不行,连分子偶极距都是错的。肿么办呢?俺们也不搞切割了,俺们拿一个探测电荷放到分子外头探,探探受到了多大的静电作用;把空间均匀划分成几千个格点,探几千次;然后呢,我就在原子核位点尝试放置一些电荷,来拟合探测电荷受到的静电作用。不断尝试,最后最能够重现分子静电场的那一套原子电荷就是俺要的电荷。这就是原始的ESP电荷分析。后来发展的ChelpG什么,就是在拟合中加各种约束,比如增加偶极距的权重。这种电荷分析方法基本上是经验拟合,但是能够正确重现偶极距,分子间作用等性质,搞力场的最喜欢。对他们来说,只要结果正确即可,何须在意经由何种途径?唯一不爽的是屏蔽效应很严重,即包裹在分子里面的原子的电荷不容易探到它们的静电作用,拟合时你电荷给大点给小点,拟合结果都差不多,郁闷。。。

不全的大家补充。

有人问平面波基组并非原子中心基组,没有原子轨道系数,怎么求Mulliken电荷呢?一般的平面波方法都是另外用一套原子中心基函数去拟合平面波计算得到的电子云分布密度,然后再套用Mulliken分析方法。



Code: Bader Charge Analysis

http://cms.mpi.univie.ac.at/vasp/vasp/Index.html


News

07/12/12 - Version 0.28a Released
Fixed a sign problem for PWscf cube files. <!--09/04/11 Code from Dr Matt Probert and Aaron Hopkinson from the University of York is available to converge from the CASTEP charge density files to cube files.

06/26/11 - Version 0.28 Released
Multipole code added by Sebastien Lebegue, Angyan Janos, and Emmanuel Aubert (Institut Jean Barriol, Nancy-University)

05/09/11 - Version 0.27e Released
Fixed a problem when writing non-orthogonal volume elements in cube files (thanks to Lars Matthes)

04/27/11 - Version 0.27d Released
Work-around for a gfortran read problem on linux (thanks to Markus Terveisin)

03/23/11 - Version 0.27c Released
Properly reads atomic numbers in cube files (thanks to Sören Wohlthat)

02/23/11 - Version 0.27b Released
Properly reads CHGCAR files from vasp > 5.2.11.

07/23/10 - Version 0.27a Released
The vacuum cutoff is now compared to the absolute value of the charge density. This makes it so that only negative charge densities smaller than the cutoff are included in the vacuum.

07/12/10 - Version 0.27 Released
Adds new flag "-vac". The usage is "[ -vac off | auto | vacuum_density ] ".This flag determines whether low charge density values are assigned to a vacuum Bader volume. This flag is off by default. If the flag is turned on (default off), points with a charge density value lower than the cutoff value will be assign to the vacuum. The low density cutoff is set to 1e-3 by default or the user specified value (vacuum_density). This feature is recommended when using our DOS code in VASP to do projections in Bader volumes when there is a significant amount of vacuum in the unit cell.12/07/09 - Version 0.26b Released

This version adds atomic volumes to the output of the voronoi calculation.

08/07/09 - Version 0.26a Released

Important: This version fixes a bug for non-orthogonal calculations.

-->Introduction

Richard   Bader, from McMaster University, developed an intuitive way of dividing molecules   into atoms.  His definition of an atom is based purely on the electronic charge density.    Bader uses what are called zero flux surfaces to divide atoms.  A zero flux surface   is a 2-D surface on which the charge density is a minimum perpendicular to the   surface.  Typically in molecular systems, the charge density reaches a minimum   between atoms and this is a natural place to separate atoms from each other.


    Besides being an intuitive scheme for visualizing atoms in molecules, Bader's  definition is often useful for charge analysis.  For example, the charge enclosed  within the Bader volume is a good approximation to the total electronic charge  of an atom.  The charge distribution can be used to determine multipole  moments of interacting atoms or molecules.  Bader's analysis has also been used  to define the hardness of atoms, which can be used to quantify the cost of   removing charge from an atom.  Program Overview

We have developed a fast algorithm for doing Bader's analysis on a charge   density grid.  The program (see below) can read in charge densities in the    VASP CHGCAR format, or the   Gaussian CUBE format.  The program  outputs the total charge associated with each atom, and the zero flux  surfaces defining the Bader volumes. Download

Select the appropriate platform to download a binary of the Bader analysis  program:

The F90 source code is also available:  

<!--

Version history -->Running the Program

The program can be run with the command     bader chargefile

It will automatically determine if the chargefile is a VASP CHGCAR file or a  Gaussian CUBE file. The only required input argument is the name of the charge density file.   Command line arguments and output files

The following options can be used when running the Bader analysis program.     bader [ -c bader | voronoi ]          [ -n bader | voronoi ]          [ -b neargrid | ongrid ]          [ -r refine_edge_method ]         [ -ref reference_charge ]  [ -vac off | auto | vacuum_density ]          [ -p all_atom | all_bader ]          [ -p sel_atom | sel_bader ] [volume list or range ]          [ -p sum_atom | sum_bader ] [ volume list or range ]          [ -p atom_index | bader_index ]          [ -i cube | chgcar ]          [ -h ] [ -v ]          chargefile

To get a description of the options, run 'bader -h'. Output files

The following output files are generated: ACF.dat, BCF.dat, AtomVolumes.dat.

ACF.dat contains the coordinates of each atom, the charge associated   with it according to Bader partitioning, percentage of the whole   according to Bader partitioning and the minimum distance to the surface. This   distance should be compared to maximum cut-off radius for the core region if pseudo   potentials have been used.

BCF.dat contains the coordinates of each Bader maxima, the charge within   that volume, the nearest atom and the distance to that atom. <!--

dipole.dat contains the dipole moment for each atom.  This is calculated   as Sum(r_i*rho_i) for the Bader volume around each atom.  The vector r_i is with  respect to the atomic center.  The nuclear charge does not contribute to this   dipole moment.  -->

AtomVolumes.dat contains the number of each volume that has been   assigned to each atom. These numbers correspond to the number of the BvAtxxxx.dat   files. <!--

bader_rho.dat has a grid where each point has the Bader volume number to  which that grid point is assigned.  This file is not generated if output option 4   (print no Bader volumes) is selected. -->

The Bader volumes can be written using the print options.     bader [ -p all_atom | all_bader ] chargefile    bader [ -p sel_atom | sel_bader ] [ volume list or range ] chargefile    bader [ -p sum_atom | sum_bader ] [ volume list or range ] chargefile    bader [ -p atom_index | bader_index ] chargefile

-p none The default is to write no charge density files.

-p all_atom Combine all volumes associated with an atom and write to file.   This is done for all   atoms and written to files named BvAtxxxx.dat.  The volumes   associated with atoms are those for which the maximum in charge density within the   volume is closest to the atom.

-p all_bader Write all Bader volumes (containing charge above threshold of 0.0001)  to a file. The charge distribution in each volume is written to a separate file,   named Bvolxxxx.dat. It will either be of a CHGCAR format or a CUBE file format,   depending on the format of the initial charge density file. These files can be  quite large, so this option should be used with caution.

-p sel_atom Write the selected atomic volumes, read from the subsequent list or range of volumes.

-p sel_bader Write the selected Bader volumes, read from the subsequent list or range of volumes.

-p sum_atom Write the sum of selected atomic volumes, read from the subsequent list of volumes.

-p sum_bader Write the sum of selected Bader volumes, read from the subsequent list of volumes.

-p atom_index Write the atomic volume index to a charge density file.

-p bader_index Write the Bader volume index to a charge density file. Visualization

The Bader volumes can be written and visualized with the   VASP Data  Viewer,    VMD, or a cube   file viewer (such as GaussView) for Gaussian cube files. Examples

  • NaCl crystal (vasp chgcar)  

  • NaCl crystal including core charges (vasp chgcar)  

  • C2H4 molecule, orientation 1 (vasp chgcar)  

  • C2H4 molecule, orientation 2 (vasp chgcar)  

  • H2O molecule (gaussian cube)

<!--Discussion Forum

We have a discussion forum to address issues related to the code and running the program.-->Note for VASP users<!--

Information about generating and analyzing charge densities from vasp.

For users using our DOS projection code in Bader volumes, the "-vac" flag is recommended. -->

One major issue with the charge density (CHGCAR) files from the VASP code is that they only contain the valance charge density.  The Bader analysis assumes  that charge density maxima are located at atomic centers (or at pseudoatoms).  Aggressive pseudopotentials remove charge from atomic centers where it is  both expensive to calculate and irrelevant for the important bonding  properties of atoms.

   Recently, the VASP developers have added a module (aedens) which allows for the core charge to be written out from PAW calculations. This module is included in vasp version 4.6.31 08Feb07 and later. By adding the LAECHG=.TRUE. to the INCAR file, the core charge is written to AECCAR0 and the valance charge to AECCAR2.  These two charge density files can be summed using the chgsum.pl script:   chgsum.pl AECCAR0 AECCAR2The total charge will be written to CHGCAR_sum.

The bader analysis can then be done on this total charge density file:   bader CHGCAR -ref CHGCAR_sum

One finally note is that you need a fine fft grid to accurately reproduce the correct total core charge.  It is essential to do a few calculations, increasing NG(X,Y,Z)F until the total charge is correct. Note for CASTEP users

Aaron Hopkinson and Dr Matt Probert from the University of York have provided a den2cube.tar.gz utility to convert from the CASTEP charge density to the cube format so that it can be read in by the Bader analysis program (now with bugfix - 01/10/14). Authors

This program was written by Andri Arnaldsson, Wenjie Tang, and Sam Chill, Graeme Henkelman.

Improvements to the original algorithm were developed by Ed Sanville (Loughborough University, UK).

With contributions from: Johannes Voss (DTU), Erik McNellis (FHI), and Matthew Dyer (Liverpool)

Multipole code added by: Sebastien Lebegue, Angyan Janos, and Emmanuel Aubert (Institut Jean Barriol, Nan cy-University) References

网络摘录:



http://emuch.net/html/201401/6896718.html

bader电荷必须加参数LAECHG处理吗,我静态的时候没有加这个参数,而且处理的时候只用了bader程序 ,没有经过那两部的加法。不知道这样做对不对

会有一定偏差,有时候偏差很大,比较明显的有含氢体系和强阴离子(比如F-,O2-)体系。主要的问题在于vasp使用的是paw模型,不考虑截断半径之内的轨道。这个模型导致很多时候,本应是电荷密度极大值的原子中心却是空的。LAECHG处理就是给原子核区一个人为的填充使其成为极大值,来保证满足bader charge的定义和合理性。



The core charge is essential for defining the Bader volumes.  It is necessary to have a charge density maximum at the atomic centers, and for many elements -- particularly those giving up valence electrons in chemical bonds, this only occurs when the core charge is present.

As with your other post, I suggest that you follow the instructions on this page:
http://theory.cm.utexas.edu/bader/vasp.php






Bader Charge Analysis

http://www.mse-project.org/wiki/doku.php?id=bader_charge_analysis


Concept

Real space charge analysis is based on the definition of atom shape and volume. However, it is always difficult to define atom in electron density maps, due to the fact there is no sharp boundary at all. As a result, charge analysis such as Mulliken charge are empirical and qualitative.  

Bader charge analysis is based on a more reasonable definition of interatom boundary. The boundary is defined as zero-flux surface, a 2D surface on which the charge density is a minimum perpendicular to the surface. The charge enclosed with the surface is a good approximation to the atomic charge.  

Analysis

Analysis is based on real-space charge density grid, which is contained in CHGCAR in VASP.

With VASP

In general, VASP output only valence charge density in CHGCAR. It may be more reasonable to do Bader analysis based on total charge density which includes both valence charge density and core charge density. This can be achieved by adding LAECHG=.True. into the INCAR file. The core charge is then written to AECCAR0 and the valence charge is written to AECCAR2. The total charge density can be obtained by adding them up.  

It is also important to use a fine fft grid to get accurate core charge, by doing test calculation with increasing NGXF/NGYF/NGZF.  

Procedures for vasp

  1. do a vasp SCF calculation with LAECHG=.True. and larger NGXF/NGYF/NGZF;
  2. type chgsum AECCAR0 AECCAR2 to get a sum-up CHGCAR_sum;
  3. type bader CHGCAR -ref CHGCAR_sum to generate the result file;
  4. type getCharges to get a easy list of atomic charge;

bader help

bader -h will give the help information.


殊途同归: 两种方法给出同样的bader分析结果



SYSTEM = U2Mo
ENCUT = 400
ISMEAR=-5
#SIGMA=0.01
NELMDL=-5
NELMIN=4
EDIFF=0.00001
EDIFFG=-0.0001
NSW=0
ISIF=0
NGX=180
NGY=180
NGZ=180
NGXF=180
NGYF=180
NGZF=180
IBRION=-1
POTIM=0.3




操作参考

http://jingyan.baidu.com/article/d5a880eb8d3a1f13f147cc1d.html


(1) 然后把vasp输入文件放到这个目录下,INCAR需要加上设置:

LAECHG =.TRUE.

LCHARG =.TRUE.




  1. VASP电荷分析之bader分析
  2. (2) 然后提交计算,计算完成后生成文件 AECCAR0   AECCAR1   AECCAR2

    VASP电荷分析之bader分析
  3. 使用命令:

    ./chgsum.pl  AECCAR0  AECCAR2生成CHARGCAR_sum 文件

    VASP电荷分析之bader分析
  4. 然后运行:

    ./bader2 CHGCAR -ref CHGCAR_sum

    生成 ACF.dat  AVF.dat   BCF.dat

    注意,这里小编把之前bader 目录下的bader 执行文件复制为bader2了

    VASP电荷分析之bader分析
  5. ACF.dat 就包含价电子的电荷信息。如下图所示,小编的列子是用SrVO2H来做的;

    VASP电荷分析之bader分析































































































































































































































































































































































https://blog.sciencenet.cn/blog-567091-836986.html

上一篇:HSE06计算能带结构、态密度脚本分析
下一篇:再谈USPEX
收藏 IP: 125.67.184.*| 热度|

1 yjcheng

该博文允许注册用户评论 请点击登录 评论 (11 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-9-2 23:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部