购买请加微信:田洪镇(微信号:buaathz)
PWmat宣传册以及购买须知
背景介绍
DFT(LDA和GGA)对于一般体系的计算结果是令人满意的,尤其是能带结构的计算,这些一般体系主要是金属体系或者是只包含前三周期元素的体系。但是,对于包含d电子或者f电子的体系,特别是过渡金属氧化物或者氮化物,DFT直接计算的结果往往是错误的,所以在金属/绝缘体的判定上常常出错。LDA和GGA往往会低估一些绝缘体或者半导体的带隙,甚至最高占据轨道(VBM或者HOMO)在Fermi面之上,变成金属。对于包含d或者f电子的体系,VBM或者HOMO往往是来自这些金属原子的d电子或者f电子,而DFT无法直接处理d轨道或者f轨道的强关联相互作用,目前广泛采用LDA+U的方法来处理d电子或者f电子的这种强关联相互作用【1】。
LDA+U核心思想是:首先将研究体系的轨道分隔成两个子体系(subsystem),其中一部分是一般的DFT算法(如LSDA,GGA)等可以比 较准确描述的体系,另外是定域在原子周围的轨道如d或者f轨道,这些轨道在标准的DFT计算下不能获得正确的能量与占据数之间的关系(如DFT总是认为分 数占据是能量最小的,而不是整数占据);对于d或者f轨道,能带模型采用Hubbard模型,而其他轨道仍然是按照Kohn-Sham方程求解;d以及f 轨道电子之间的关联能采用一个和轨道占据以及自旋相关的有效U表示;整体计算的时候需要将原来DFT计算过程中已经包含的部分关联能扣除,这部分一般叫 Double Counting part,并且用一个新的U来表示,最终的结果是在DFT计算的基础上新增加一个和d或者f轨道直接相关的分裂势的微扰项,这部分能量可以采用一般微扰理 论计算【2】。
方法介绍
U值计算目前仍然是一个研究的难点和热点,最近PWmat实现了一种用线性响应理论计算U值的方法,下面我们将对这种方法进行详细介绍:
首先U值表示定域轨道电子与电子之间的相互作用,其操作算符如下:
其中,ak, ai+表示湮灭和产生算符,i,j,k,l是原子轨道基组
其中V仅仅表示数字,需要注意的是,上式中索引指数i,j,k,l和变量r,r`,需要考虑存在自旋指数σ。
进一步,我们假设φi是相同角动量L内的2L+1原子轨道,对于球谐函数YL,i(降低自旋指数),然后考虑对称性,V的形式可以简化为:
其中ah是Klein-Gordon系数,形式如下:
只有偶次的Fh不为零,例如F0,F2,F4和F6(f轨道)。人们习惯上假设J=(F2+F4)/14=0(d轨道),定义U=F0。
现在,如果我们插入单个Slater行列式波函数来计算Hint的期望值,并减去重复项,然后整理之后得到:
I遍历不同的原子,σ是自旋指数,nIσ是一个矩阵,形式如下:
其中,ψqσ是Kohn-Sham波函数,o(q,σ)是它的占据数。
到目前为止,我们应该如何计算U值呢?我们可以通过下式计算:
但是这不包括周围环境对该原子的屏蔽左右,因此计算出来的U值偏大。另外人们也可以通过经验方法估算U值,得到任何我们想要的值。这里我们介绍一种用Koopman`s条件来得到U值【3】。作为原子轨道占据数的函数,在电子数N到N+1的变化时,总能应该是直线。所以我们可以调整U的值,直到最后的总能变成直线。
实际上,很难计算所有φi
的占据数。事实证明,进行线性响应计算更容易。另外,决定哪个轨道占据也很困难,因此在线性响应计算中,我们将从所有轨道上获取电荷:
我们具有自旋σ的总和,所有最后,我们只有一个U值,而不是两个U,每个自旋一个。我们将通过线性响应计算来确定响应电荷来自哪个轨道(或者多个轨道)。
至此,我们得到一个新的Hamiltonian(线性能量项下的线性响应):
其中,αI仅仅是原子I上的一个数值。
在计算中,可以设置U=0,(从LDA开始),即:
对原子I设置一个最终的αI,其他原子的αI设置为零,然后进行SCF计算,现在就有E(αI),移除最后一项,还可以得到ELDA(αI)和ELDA(nI),最后得到U的形式为:
该公式可以理解为,当我们添加额外LDA+U项EU时,该项的二阶导数将抵消LDA项的二阶导数,从而使得最终结果成为nI的线性函数(Koopmans`s 条件),即
最终U的形式为:
事实证明,由于上述过程中nI的变化,总电荷是守恒的(实际上并未在原子I上增加一个额外的电荷),因此存在一个人为引入的项
。该项对应于SCF计算前αI下nI的变化(无库伦相互作用),必须从上述U的计算公式中减掉,所有我们可以得到:
这里,偏导数应该理解为只有该原子具有nI的变化,其他原子没有变化,所以有:
其中,当我们将一个αI放在一个原子上,而将其他原子的αI设为零,ΔαI和ΔnI是从上述计算中得到的数值。但是其他原子上的ΔnI不为零。
为了计算
,我们首先计算:
然后得到:
Eq.(1)
注意,对于Koopmans条件,这实际上是在假设,当存在一个ΔnI时,所有其他ΔnI应该为零。实际上,也可以避免这种情况,也就是说,当存在一个ΔnI(有一个外部ΔαI和变化引起)时,在SCF响应中,其他原子的ΔnI时,所有其他可以是任意值。此时,U可以被定义为:
Eq.(2)
实例演示
总结
1.计算给定系统的U值的核心思想是U值取决于局域环境(与其他轨道的杂化以及U的局域屏蔽)。
2.如果存在几种不同类型的原子,所有原子都需要不同的U,则需要在这些不同的原子上添加LDAU_lambda(αI)。 使用Eq.(2),可以直接计算,这些U可以一次计算一个。 使用Eq.(1),必须使用对称性等来获得所有具有U的原子的χ矩阵,然后将其求逆。 注意,χ矩阵不包含不需要加U的原子。
3.严格来说,也可以得到具有自旋依赖性的U,例如,在etot.input中设置:“ LDAU_PSP1 = 2,U1,U2”,添加扰动,请使用LDAU_lambda_1和lambad_2(在atom.config的LADU_lambda部分中)。
4.在某些情况下,可能难以决定要使用哪个系统来计算U。例如,在水分解催化中,是使用裸露的过渡金属(TM),还是使用连接了OH或O的过渡金属系统。 人们可以为这些系统计算不同的U,但是使用不同的U计算其相对能量将很危险(可能是错误的)。 因此,要么使用平均值U进行以后的计算,要么使用裸露的U(也许)。
参考文献:
【1】http://blog.sina.com.cn/s/blog_553461e901013xx1.html
【2】http://blog.sina.com.cn/s/blog_6a8a6ba40100pvfb.html
【3】M. Cococcioni, S. de Gironcoli, “Linear response approach to the calculation of the effective interaction Parameters in the LDA+U method”, Phys. Rev. B, 71, 035105 (2005).