有限要素によるhybrid汎関数の実装

58
@dc1394 2017/8/13 Rev. 2.0 有限要素によるHybrid汎関数の実装

Upload: dc1394

Post on 14-Jul-2015

769 views

Category:

Education


4 download

TRANSCRIPT

Page 1: 有限要素によるHybrid汎関数の実装

@dc1394 2017/8/13 Rev. 2.0

有限要素によるHybrid汎関数の実装

Page 2: 有限要素によるHybrid汎関数の実装

このスライドの内容

有限要素によるKohn-Sham方程式の離散化

L(S)DAやGGA

LSDAやGGAのH原子とHe原子における数値例

LSDAやGGAにおける問題点(自己相互作用問題)

Hartree-Fock交換

Hybrid汎関数(PBE0)の導入

PBE0のH原子とHe原子に対する数値例

Page 3: 有限要素によるHybrid汎関数の実装

Kohn-Sham方程式

Kohn-Sham方程式(以下KS方程式と呼ぶ)は,原子単位系を用いると以下のように書ける。

なお,式を簡単にするためスピンは省略した(以後断りなく同様に省略する)。ただし原子については,

である(ここでZは原子番号)。

vHartree(r)とvxc(r)については後で考えることにして,まずはこの方程式を有限要素で離散化することを考える。

Page 4: 有限要素によるHybrid汎関数の実装

KS方程式の変数分離

veff(r)は球対称であると仮定するならば,

と変数分離が可能である。ここで,n, l, mはそれぞれ主量子数,方位量子数,磁気量子数である。

この変数分離により,KS方程式から以下の二つの方程式が得られる。

ただし,第二式の解は,球面調和関数として解析的に得られる。

Page 5: 有限要素によるHybrid汎関数の実装

有限要素による離散化

この微分方程式は,次のDirichlet境界条件を満たす。

この微分方程式を,Galerkin法によって離散化する。ただし,基底関数にはLobatto多項式を用いる。

最終的に,次のような一般化固有値問題が得られる。

Page 6: 有限要素によるHybrid汎関数の実装

C++による実装

一般化固有値問題の数値解法には,LAPACKのdsbgvx関数を用いる(Aは対称正定値帯行列)。

前ページの詳しい計算は下記の論文[1][2]を参照。

[1] Z. Romanowski, Mol. Phys. 107, 1339 (2009).

[2] Z. Romanowski, Modelling Simul. Mater. Sci. Eng. 17, 04001 (2009).

Page 7: 有限要素によるHybrid汎関数の実装

Hartreeポテンシャル

HartreeポテンシャルvHartree(r)は,以下のPoisson方程式から求められる。

である(ここでfn,lは固有状態(n, l)における占有数)。

Page 8: 有限要素によるHybrid汎関数の実装

Poisson方程式の境界条件

ここで, と置くならば,

が得られる。この常微分方程式を有限要素で離散化する。

この方程式は次のDirichlet境界条件,

を満たすが,ここで, が斉次微分方程式を満たすことを用いれば,境界条件は

と簡単にできる。元の式の結果を得るには,得られた数値解に を加えれば良い。

Page 9: 有限要素によるHybrid汎関数の実装

Poisson方程式の離散化

前ページの式を離散化することによって,最終的に,

という(おなじみの形の?)連立一次方程式が得られる。

この方程式をGMRES法等の高度の方法で解いて

も良いのだが,たかだか数十元程度なので,今回はLAPACKのdpbsvx関数を用いる(Aは対称正定値帯行列)。

Page 10: 有限要素によるHybrid汎関数の実装

C++による実装

以上の実装については,下記の論文の著者自身によってコード(プログラム言語はC++)が公開されている[1]。

今回はこのコードに,Hybrid汎関数を実装する。

[1] ratom: https://code.google.com/p/ratom/

Page 11: 有限要素によるHybrid汎関数の実装

交換相関ポテンシャル

交換相関ポテンシャルvxc(r)を厳密に求める式は,現在に至るまで見つかっていない。

従って,交換相関ポテンシャルについては,何らかの近似を用いる必要がある。

よく用いられている近似として,局所(スピン)密度近似(Local (Spin) Density Approximation,L(S)DA),一般化勾配近似(Generalized Gradient Approximation,GGA),そしてHybrid汎関数がある。

次ページ以降で,これらについて詳しく説明する。

Page 12: 有限要素によるHybrid汎関数の実装

L(S)DA交換相関

L(S)DAの場合,交換相関エネルギー汎関数は以下の表式となる(n(r)を電子密度とする)。なお,式

を簡単にするためスピンは省略した(以後断りなく同様に省略する)。

対応する交換相関ポテンシャルは,Exc[n]を汎関数微分することにより得られ,

となる。

Page 13: 有限要素によるHybrid汎関数の実装

交換と相関の寄与の分割

εxchom(n)は,交換の寄与と相関の寄与に分割すること

ができる。

εxhom(n)は解析的に求められるが,εc

hom (n)を解析的に求めるのは不可能である(高密度・低密度の極限においては解析的な式が得られている)。

従って, εchom (n)の表式は,量子モンテカルロ法など

による本質的に厳密な計算結果をフィッティングして求める。

εxhom (n)として,Slater-Diracの交換汎関数を紹介する。

εchom (n)は表式が複雑となるため紹介しない。

Page 14: 有限要素によるHybrid汎関数の実装

L(S)DA汎関数の具体的な表式

Diracは1930年,以下の表式を導いた[1](1951年にSlaterも同様の式を導いた[2])。

この式は,L(S)DA交換汎関数として一般的に用いられている。

なお,L(S)DA相関汎関数では,Vosko-Wilk-Nusair(VWN)[3]などがよく用いられている。

[1] P. A. M. Dirac, (Mathematical) Proceedings of the Cambridge Philosophical Society 26, 376 (1930).

[2] J. C. Slater, Phys. Rev. 81(3), 385 (1951).

[3] S. H. Vosko, L. Wilk, and M. Nusair, Can. J. Phys. 58, 1200 (1980)

Page 15: 有限要素によるHybrid汎関数の実装

GGA交換相関

GGAでは,交換相関エネルギー汎関数は以下の表式となる。

対応する交換相関ポテンシャルは,

となる。

Page 16: 有限要素によるHybrid汎関数の実装

GGA汎関数の具体的な表式

εxc(n, |∇n|)はL(S)DAと同様に,εxとεcに分けることができる。 εxとεcの具体的な形は多様であり,また複雑になるのでここでは紹介しない。

交換汎関数ではBecke (B88)[1],PerdewとWang

(PW91)[2],Perdew, BurkeとErnzerhof (PBE)[3]などがよく用いられている。

相関汎関数では,PBE[3],Lee-Yang-Parr (LYP)[4]などがよく用いられている。

[1] A. D. Becke, Phys. Rev. A, 38, 3098 (1988).

[2] J. P. Perdew, et al., Phys. Rev. B. 46, 6671 (1992).

[3] J. P. Perdew, K. Burke, and M. Ernzerhof, Phys. Rev. Lett. 77, 3865 (1996).

[4] C. Lee, W. Yang and R. G. Parr, Phys. Rev. B. 37, 785 (1988)

Page 17: 有限要素によるHybrid汎関数の実装

Libxcの利用

交換相関汎関数は多数存在するが,どの汎関数が優れているかは一概には言えない。計算する系や用途に応じて使い分けるべきである。

多くの第一原理計算(量子化学計算)プログラムでは,入力ファイルで汎関数を指定するようになっている。

私のコードでもいくつかの汎関数が利用でき,入力ファイルで汎関数を指定するようにしている。しかし,汎関数を自分で実装するのは非常に面倒なので,Libxc[1]というライブラリを利用している。

[1] http://www.tddft.org/programs/octopus/wiki/index.php/Libxc

Page 18: 有限要素によるHybrid汎関数の実装

KS方程式の解法

以上の式から,以下のような非線形連立常微分方程式が得られる。これは反復計算法によって解かなくてはならない。

この反復を,入力と出力が一致するまで行う。

このとき,全エネルギーは大局的な極小値(最小値)になる。

Page 19: 有限要素によるHybrid汎関数の実装

反復計算法による解法

反復計算法は,原子に対しては簡単な一次混合法

で十分であり,今回はこれを用いる。

より高度な方法としては,Broyden法[1],修正Broyden法[2],RMM-DIIS法(Pulay法)[3],GR-Pulay

法[4]などがある。

[1] C. G. Broyden, Math. Comp. 19, 577 (1965).

[2] D. D. Johnson, Phys. Rev. B. 38, 12807 (1988).

[3] P. Pulay, Chem. Phys. Lett. 73, 393 (1980).

[4] D. R. Bowler and M. J. Gillan, Chem. Phys. Lett. 325, 475 (2000).

Page 20: 有限要素によるHybrid汎関数の実装

計算結果

Page 21: 有限要素によるHybrid汎関数の実装

H原子に対する計算

H原子について,有限要素法を用いてKohn-Sham

方程式を解き,計算結果を図及び表にまとめた。

交換相関汎関数については,LSDA(-VWN)とGGA(-PBE)の二つを用いて,それぞれ別に計算し,それらをHartree-Fockの結果(厳密な結果)と比較した。

Page 22: 有限要素によるHybrid汎関数の実装

H原子に対する電子密度の比較

厳密な密度は,LSDA,GGAのほぼ中間にある。

Page 23: 有限要素によるHybrid汎関数の実装

H原子に対する電子密度の比較(y軸対数目盛)

LSDA,GGAは

遠方ではよく似た振る舞いを示し,厳密な密度と比べて誤差が大きくなる。

Page 24: 有限要素によるHybrid汎関数の実装

H原子に対する電荷分布の比較

LSDA,GGAは厳密な電荷分布より裾が長い。おそらく,LSDAとGGAが一様電子ガスから導いた結果であるためだと思われる。

Page 25: 有限要素によるHybrid汎関数の実装

H原子に対する交換ポテンシャルの比較(厳密な密度を使用)

LSDA,GGAはポテ

ンシャルが浅すぎる。また遠方で急速に減衰し,-1/rに漸

近しない。

GGAはポテンシャルが原点で発散する

LSDA,GGAは,厳密な交

換ポテンシャルを全く再現していない。

Page 26: 有限要素によるHybrid汎関数の実装

厳密な交換ポテンシャル

厳密な交換ポテンシャルは,遠方で-1/rに漸近する。

これはフェルミ孔が,原子核の周囲に局在する,単一の電荷を有するという事実[1]から明らかである。

しかし,LSDAやGGAなどの,近似汎関数による交換ポテンシャルは,遠方で急速に減衰し,遠方で-1/rに漸近しない。これは,これらの近似汎関数による遠方での物理的記述が,不十分であることを意味する。

[1] Manoj K. Harbola and Viraht Sahni, Phys. Rev. Lett. 62, 489 (1989).

Page 27: 有限要素によるHybrid汎関数の実装

H原子に対する計算結果

H原子に対する計算結果を表にまとめた。交換エ

ネルギー,相関エネルギーについては,厳密な密度を使用した場合を括弧付きで示した(単位は全てHartree)。

LSDA-VWN GGA-PBE Hartree-Fock(厳密)

軌道エネルギー(固有値) -0.2690 -0.2791 -0.5000

交換エネルギー -0.2564

(-0.2680)

-0.3018

(-0.3059)

-0.3125

相関エネルギー -0.0217

(-0.0221)

-0.0057

(-0.0060)

0.0000

全エネルギー -0.4787 -0.5000 -0.5000

Page 28: 有限要素によるHybrid汎関数の実装

H原子に対する計算結果の考察

全エネルギーを厳密な値と比較すると,LSDAでは95.8%,GGAでは100.0%の値を与える。これは非常に良い結果と言える。

LSDAとGGAは,軌道エネルギーと交換エネルギーの絶対値を過小評価する。また,交換ポテンシャルも厳密な結果を与えない。

なお,1電子問題であるH原子には相関が存在しない(そもそも,相関とは多体効果の寄与であった)ため,Hartree-Fockは厳密な結果を与える。

LSDA,GGAではH原子においても相関が残る。これは全エネルギーを低下させているという意味で,結果的に良い方向に作用しているとも言えるが,やはり非論理的である。

Page 29: 有限要素によるHybrid汎関数の実装

He原子に対する計算

同様に,He原子についても,有限要素法を用いてKohn-Sham方程式を解き,計算結果を図及び表にまとめた。

交換相関汎関数についても,H原子と同様に,LSDA(-VWN)とGGA(-PBE)の二つを用いて,それぞれ別に計算し,それらをHartree-Fockの結果と比較した。

Page 30: 有限要素によるHybrid汎関数の実装

He原子に対する電子密度の比較

いずれの汎関数もH原子と同様の傾向が見られる。

Hartree-Fock密度は,LSDA,GGA

のほぼ中間にある。

Page 31: 有限要素によるHybrid汎関数の実装

He原子に対する電子密度の比較(y軸対数目盛)

LSDA,GGAは

遠方ではよく似た振る舞いを示

す。

Page 32: 有限要素によるHybrid汎関数の実装

He原子に対する電荷分布の比較

LSDA,GGAはHartree-Fockによる電荷分布より裾が長い。理由はH原子の場合と同じく,LSDAとGGAが一様電子ガスから導いた結果であるためだと思われる。

Page 33: 有限要素によるHybrid汎関数の実装

He原子に対する交換ポテンシャルの比較(Hartree-Fock密度を使用)

LSDA,GGAは,H原子と同様,厳密な交換ポテンシャルを全く再現していない。

Page 34: 有限要素によるHybrid汎関数の実装

He原子に対する計算結果

He原子に対する計算結果を表にまとめた。交換エネルギー,相関エネルギーについては,Hartree-Fock密度を使用した場合を括弧付きで示した(単位は全てHartree)。

[1] J. D. Baker, et al., Phys. Rev. A, 41, 1247 (1990).

[2] R.M.マーチン 『物質の電子状態上』シュプリンガー・ジャパン株式会社(2010)

[3] T. Kinoshita, Phys. Rev. 105, 1490 (1957).

LSDA-VWN GGA-PBE Hartree-Fock 厳密(参考)

軌道エネルギー(固有値) -0.5704 -0.5793 -0.9180 -0.7259[1]

交換エネルギー -0.8618

(-0.8840)

-1.0051

(-1.0136)

-1.0258 -1.0258[2]

相関エネルギー -0.1115

(-0.1129)

-0.0411

(-0.0420)

0.0000 -0.0420[2]

全エネルギー -2.8348 -2.8929 -2.8617 -2.9037[3]

Page 35: 有限要素によるHybrid汎関数の実装

He原子に対する計算結果の考察

全エネルギーを厳密な値と比較すると,LSDAで97.6%,GGAで99.6%の値を与える。これは非常に良い結果と言える。

しかしLSDAとGGAは,H原子と同様,軌道エネルギーと交換エネルギーの絶対値を過小評価する。交換ポテンシャルもやはり厳密な結果を与えない。

GGAにおいて,相関エネルギーは非常に良い結果を与える。

Hartree-Fockは,交換エネルギーに対しては厳密な結果を与える。軌道エネルギーの絶対値は過大評価する。

Page 36: 有限要素によるHybrid汎関数の実装

自己相互作用問題

LSDA,GGAは,交換エネルギー,交換ポテンシャルの絶対値を過小評価する。また,軌道エネルギーの絶対値も過小評価する。

これは,Hartree項と交換項に存在する非物理的な自己相互作用が,互いに完全に相殺しないことに起因していると考えられる。

厳密な交換汎関数ではこれらは互いに完全に相殺する。しかし,実際は完全に相殺しない(近似汎関数を用いているため)。

そして,電子が自分自身と相互作用することで,占有軌道のエネルギー準位が不安定化する(=エネルギー準位の絶対値を過小評価)。

これは,自己相互作用問題と言われている。

Page 37: 有限要素によるHybrid汎関数の実装

Hybrid汎関数の着想

一般的な傾向として,Hartree-FockはLSDA, GGAとは

逆に,軌道エネルギーの絶対値を過大評価する。これは,Hartree-Fockでは相関が無視されているためと言われている。

LSDA,GGAは,交換と相関の両方を近似的に取り入れている。一方,Hartree-Fockでは,交換は厳密に扱われているが,相関は完全に無視されている。

Hartree-Fockで交換を計算して,LSDA,GGAで相関を

計算することは可能だろうか?そうすれば,軌道エネルギーも改善されるのではないか?

この着想から生まれたのが,Hybrid汎関数である。

Page 38: 有限要素によるHybrid汎関数の実装

Hartree-Fock交換

交換項にHartree-Fock交換(以下HF交換と呼ぶ)を用いることを考えよう。HF交換エネルギーは,

であるので,対応するポテンシャルは,

である(本来はスピンについても和をとらなくてはならないが,ここでは省略した)。

Page 39: 有限要素によるHybrid汎関数の実装

HF交換(続き)

ここで,

であり,

である。

Page 40: 有限要素によるHybrid汎関数の実装

HF交換の問題

KS方程式においては,交換項に,HF交換の式をそのまま用いることはできない。

なぜならば,これらの式に現れる固有関数は,相関を含まないHF方程式の固有関数を意味しているからである。

従って, HF方程式の固有関数の代わりに,KS方程式における固有関数を用いて交換項を計算すると,正しくない結果になると考えられる。

結局,他に情報がないので,KS方程式の固有関数を用いるしかないが,それでもHF交換に加えてなにがしかの工夫は必要である。

従って,HF交換とLSDA,GGA交換(とLSDA,GGA相関)を「混ぜる」ことを考える。

Page 41: 有限要素によるHybrid汎関数の実装

Hybrid (PBE0)汎関数

Perdew, ErnzerhofとBurkeは,交換相関エネルギーに対して以下の式を提案した[1]。

すなわち,HF交換エネルギーを1/4混ぜた。これはHybrid汎関数の一つであり,PBE0汎関数と呼ばれている。

対応するポテンシャルは,

である。

[1] J. Perdew, M. Ernzerhof, and K. Burke, J. Chem. Phys. 105, 9982 (1996).

Page 42: 有限要素によるHybrid汎関数の実装

H原子とHe原子のHF交換

HF交換の表式は複雑なため,一般の原子の場合の実装は困難である。

ただし,H原子とHe原子は特別な場合であり,HF

交換は簡単になる。

H原子の場合,HF交換はHartree項の符号を変えたものになる。

またHe原子の場合,HF交換はHartree項の符号を変えたもののちょうど半分となる。

今回はこれらの原子について実装する。

Page 43: 有限要素によるHybrid汎関数の実装

H原子に対する(Hybrid-)PBE0汎関数による計算

再度,H原子に対して,有限要素法を用いてKohn-

Sham方程式を解き,計算結果を図及び表にまとめた。

交換相関汎関数には(Hybrid-)PBE0汎関数を用いた。また,その結果をLSDA(-VWN),GGA(-PBE)およびHartree-Fockの結果(厳密な結果)と比較した。

Page 44: 有限要素によるHybrid汎関数の実装

H原子に対する電子密度の比較

PBE0は,Hartree-

Fock密度をほぼ再現している。

Page 45: 有限要素によるHybrid汎関数の実装

H原子に対する電子密度の比較(y軸対数目盛)

PBE0は,LSDAやGGAと比べて,遠方でよりHartree-

Fock密度に近くなる。

Page 46: 有限要素によるHybrid汎関数の実装

H原子に対する電荷分布の比較

LSDA,GGA,PBE0の順に厳密な密度に近づいていることが分かる(DFTの「ヤコブの梯子」の通り)。

Page 47: 有限要素によるHybrid汎関数の実装

H原子に対する交換ポテンシャルの比較(厳密な密度を使用)

Hybrid-PBE0はGGAより厳密なポテンシャルと近い。が,基本的な傾向(原点で発散)は変わらない。

Page 48: 有限要素によるHybrid汎関数の実装

H原子に対する計算結果

H原子に対する計算結果を表にまとめた。交換エ

ネルギー,相関エネルギーについては,厳密な密度を使用した場合を括弧付きで示した(単位は全てHartree)。

LSDA-VWN GGA-PBE Hybrid-PBE0 Hartree-Fock(厳密)

軌道エネルギー(固有値) -0.2690 -0.2791 -0.3355 -0.5000

交換エネルギー -0.2564

(-0.2680)

-0.3018

(-0.3059)

-0.3045

(-0.3076)

-0.3125

相関エネルギー -0.0217

(-0.0221)

-0.0057

(-0.0060)

-0.0058

(-0.0060)

0.0000

全エネルギー -0.4787 -0.5000 -0.5013 -0.5000

Hybrid-PBE0は,変分原理から逸脱する!

Page 49: 有限要素によるHybrid汎関数の実装

H原子におけるHybrid-PBE0による改善と問題

Hybrid-PBE0は,交換エネルギー及び軌道エネル

ギーの値において改善が見られ,特に軌道エネルギーの値は著しく改善している。

しかしそれでも,厳密値と比べるとまだ満足な結果とは言えない。

また,(当然と言えば当然であるが)相関エネルギーの値は改善していない。

そして何より,全エネルギーが厳密な値より低くなってしまい,変分原理から逸脱してしまう。

Page 50: 有限要素によるHybrid汎関数の実装

He原子に対する電子密度の比較

PBE0は,Hartree-

Fock密度をほぼ再現している。

Page 51: 有限要素によるHybrid汎関数の実装

He原子に対する電子密度の比較(y軸対数目盛)

PBE0は,LSDAやGGAと比べて,遠方でよりHartree-

Fock密度に近くなる。

Page 52: 有限要素によるHybrid汎関数の実装

He原子に対する電荷分布の比較

H原子と同じ傾向が見られる。

Page 53: 有限要素によるHybrid汎関数の実装

He原子に対する交換ポテンシャルの比較(HF密度を使用)

PBE0はGGAよりは厳密なポテンシャルと近いが,基本的な傾向は変わらない

Page 54: 有限要素によるHybrid汎関数の実装

He原子に対する計算結果(PBE0による改善)

He原子に対する計算結果を表にまとめた。交換エネルギー,相関エネルギーについては,HF密度を使用した場合を括弧付きで示した(単位は全てHartree)。

PBE0は,特に軌道エネルギーにおいて改善が見られる。しかしそれでも,厳密値と比べるとまだ満足な結果とはいえない。

GGA PBE0 Hartree-Fock 厳密(参考)

軌道エネルギー(固有値)

-0.5793 -0.6696 -0.9180 -0.7259

交換エネルギー -1.0051

(-1.0136)

-1.0106

(-1.0166)

-1.0258 -1.0258

相関エネルギー -0.0411

(-0.0420)

-0.0414

(-0.0420)

0.0000 -0.0420

全エネルギー -2.8929 -2.8952 -2.8617 -2.9037

Page 55: 有限要素によるHybrid汎関数の実装

まとめ

Lobatto多項式を基底関数として,KS方程式を有

限要素で離散化できることがわかった。実装は既存のコード(RAtom)を利用した。

上記のコードに,ライブラリ(Libxc)を用いて,LSDA

とGGA汎関数を実装した。

H原子とHe原子に対して,PBE0汎関数を実装した。

交換エネルギー(交換ポテンシャル)と軌道エネルギーに対して,一定の改善が見られた。

Page 56: 有限要素によるHybrid汎関数の実装

今後の課題

HF交換を一般の原子に対して実装する。

HSE (Heyd-Scuseria-Ernzerhof)汎関数等,他のHybrid汎関数を実装する。

Page 57: 有限要素によるHybrid汎関数の実装

参考文献

R.M.マーチン 『物質の電子状態上』シュプリンガー・ジャパン株式会社(2010)

R.G.パール,W.ヤング 『原子・分子の密度汎関数法』シュプリンガー・フェアラーク東京(1996)

J.M.ティッセン 『計算物理学』シュプリンガー・フェアラーク東京(2003)

Page 58: 有限要素によるHybrid汎関数の実装

参考サイト

交換ホールの実空間分割によるO(N)交換汎関数: http://www.jaist.ac.jp/ms/labs/Ozaki-

Lab/research_highlights017_jp.html