10  走り切った計算と、信用できる計算

計算は最後まで走り切り、JOB DONE と出た。刻みもエネルギーも、文句なく収束している。
それなのに、いちばん知りたかったバンドギャップは、その画面のどこにも見当たらない。何が起きているのか。

この章のゴール:「収束は正しさではない」を検算の作法として理解する。そのうえで、私たちの収束計算がそもそもギャップを出していないこと、そして標準的な DFT-PBE 計算がシリコンのギャップを過小評価するという広く知られた事実を、「計算が壊れている」のではなく「その数字が何の値か」「そもそも何を計算したか」の問題として説明できるようになる。

第1章で「その一歩のところに潜んでいる」と言った場所に、いま私たちは立っている。前章まで素直だった計算が、最後の標的に対して急に妙な顔を見せる。その顔の意味を、本章で読み切る。

1 「JOB DONE」は終わりであって、正しさではない

前章で、PBE が緩めて返す格子定数(約 5.47 Å)を実験値 5.431 Å と並べ、約 0.7 % の差で重なることを見た。そして「数字を出したら必ず既知の値と並べる」という検算の作法を据えた。本章では、その作法を本書でいちばん手ごわい量――バンドギャップ――に向ける。すると、これまで素直だった計算が、急に妙な顔を見せる。

シリコンの入力を pw.x に渡し、しばらく待つ。出力の末尾には JOB DONE. と現れる。途中の自己無撞着ループ(第7章)はきちんと収束し、平面波の打ち切り ecutwfc も、K_POINTS の刻みも、値がもう動かなくなるところまで上げてある。計算は、文句のつけようがないほど行儀よく走り切った。

ここで一度だけ、はっきり言葉にしておきたい。走り切ったこと、そして収束したことは、数値の刻みが十分だったというサインであって、出てきた数が本物に等しいという保証ではない。 JOB DONE は「計算という手続きが最後まで進んだ」という報告であって、「答えが正しい」という認定ではない。

収束のチェックが具体的に何を確かめているのかを、思い出しておこう。ecutwfc を上げて全エネルギーがもう動かないことを確かめる(第5章)。K_POINTS を細かくして値が落ち着くことを確かめる(第6章)。自己無撞着ループの残差が閾値を切るまで回す(第7章)。これらはどれも、数値の刻みがもう答えを揺らさないことの確認だ。けれど、刻みを無限に細かくして行き着く先――収束先そのもの――が本物とどれだけ離れているかは、刻みの側からは見えない。その距離を決めているのは、汎関数というモデルの選び方だからである。

収束チェックと、正しさチェックは別の層にある

収束で確かめられること 収束では確かめられないこと
ecutwfc を上げて値が動かない 選んだ汎関数(PBE)が持つ系統的なずれ
K_POINTS を増やして値が動かない 「印字された数」が物理のどの量に対応するか
SCF 残差が閾値を切る 収束先そのものと実験値との隔たり

左の列は「数値の刻みが十分か」を、右の列は「物理のモデルとして妥当か」を問う。収束は左を片づけるが、右にはそのまま残る。前章の格子のずれも、本章のギャップのずれも、右の列の話である。

この区別は、すでに前章で一度味わっている。覚えているだろうか。刻みをどれだけ細かくしても、PBE で出る格子定数は実験より約 0.7 % 大きいところに落ち着いた。あの 0.7 % は、計算が雑だったから出たのではない。刻みの問題(数値の解像度)と、汎関数の問題(物理のモデル)は別の層にあり、収束は前者を片づけても後者にはそのまま残る。バンドギャップで私たちが出会うのは、この「収束しても残るずれ」の、もっと大きな現れである。

2 バンドギャップという山場

バンドギャップとは、電子が詰まった準位の上端――価電子帯の頂上(VBM)――と、空いた準位の下端――伝導帯の底(CBM)――のあいだのエネルギーの隔たりである。ここが開いているからこそ、シリコンは金属でも絶縁体でもなく、半導体になる。室温の熱で電子をわずかに伝導帯へ持ち上げられ、不純物を足せば電気の流れ方を設計できる――その「ちょうどよい隔たり」を一つの数で表したのがギャップだ。物理の教科書を開けば、シリコンのバンドギャップは約 1.1 eV(間接ギャップで、文献により 1.12〜1.17 eV)と書いてある。半導体としてのシリコンの性格を決める、由緒正しい値である。

ここで、正直に打ち明けておくことがある。私たちが収束まで走らせた計算が解いたのは、電子が実際に詰まっている準位――価電子が満たす占有状態の 4 本だ。出力には、その頂上が highest occupied level として約 6.21 eV と印字される。つまり手元にあるのは、価電子帯の頂上(VBM)までの地図である。ギャップを読むには、その上に開ける空の準位――伝導帯――まで地図を広げねばならない。それには、バンド数 nbnd を増やし、収束した密度の上で空の準位まで解く別の計算(nscf、いわゆるバンド計算)へ進めばよい。CBM の固有値は、そこで初めて手に入る。

言い換えれば、JOB DONE と出て刻みも収束も確かめ尽くした計算は、いちばん知りたい量の一歩手前で待っている。走り切ったことと、知りたいことに答えられることのあいだには、もう一手ぶんの距離があるのだ。

では、その一手を進めたら、ギャップはいくつになるのか。ここから先は私たちの一回の実行を離れ、DFT-PBE について広く知られた事実に頼ろう。標準的な PBE 計算では、シリコンのギャップはおよそ 0.6 eV にとどまり、教科書値の約 1.1 eV のおよそ半分にしかならないことが知られている。 しかもこの半減は、ecutwfcK_POINTS の刻みをどれだけ細かくしても埋まらない。収束先そのものが、この値だからである。

ここで、最初に立てた問いに戻ろう。計算が壊れているのか、それとも私たちがその数字の意味を取り違えているのか。本章は、ここで正面から答えを出す。

まず、ずれの大きさを手で測っておこう。格子定数のずれは \((5.47-5.431)/5.431 \approx 0.7\,\%\)。ギャップのずれは \((1.1-0.6)/1.1 \approx 0.45 = 45\,\%\)。同じ汎関数(PBE)が相手にする二つの量なのに、相対誤差は約 0.7 % と約 45 %、その比は 60 倍を超える。桁が二つ近く違う。

この数字の対比が、本章の急所を先に見せてくれる。もし計算が「壊れている」のなら、格子定数まで大きく外すはずだ。ところが格子は 1 % 以内で当たっている。壊れた計算は、格子をここまで正しく当てない。 だから「ギャップが半分」を、そのまま「計算の故障」と読むのは筋が通らない。では、何が起きているのか。

3 計算は壊れていない ― 数字の意味を取り違えている

答えは、計算の側ではなく、読み方の側にある。鍵は「画面に出た『ギャップ』とは、そもそも何の量なのか」を正確に知ることだ。

標準の計算がやっているのは、Kohn-Sham 方程式を解いて、電子が入る一連の準位のエネルギー――固有値 \(\varepsilon\)――を求めることである。そして「ギャップ」として印字されるのは、その固有値の差、

\[ E_g^{\text{KS}} = \varepsilon_{\text{CBM}} - \varepsilon_{\text{VBM}} \]

である。電子数 \(N\) の結晶を一度計算し、できあがった準位のあいだの隙間を測った数だ。

一方、物理が「ギャップ」と呼ぶとき念頭にあるのは、もっと操作的な量である。電子を 1 個 抜くのに要るエネルギー(イオン化エネルギー \(I\))と、電子を 1 個 加えたときに得するエネルギー(電子親和力 \(A\))の差――つまり「電子を 1 個 出し入れするのに、正味どれだけのエネルギーがかかるか」だ。これを準粒子ギャップと呼ぶ。式で書けば、

\[ E_g^{\text{qp}} = I - A = \big[E(N-1)-E(N)\big]-\big[E(N)-E(N+1)\big] = E(N+1)+E(N-1)-2E(N). \]

右辺をよく見てほしい。これは全エネルギーの差でできている。ただし、電子数を \(N\) から \(N\pm 1\) へ動かした系どうしの差だ。原理的には、電子を 1 個 足した結晶、そのままの結晶、1 個 抜いた結晶――三つの全エネルギーを別々に計算して組み合わせれば、準粒子ギャップに手が届く。それは標準の「電子数 \(N\) のまま一度だけ」の計算とは、別の計算である。

ここで第3章の合言葉がよみがえる。「全エネルギーは、それ単体では何も語らない。意味は差に宿る」。格子定数に手が届くのは、原子を動かしながら電子数 \(N\) を保ったまま全エネルギーを比べ、その最小を読むやり方による。基底状態の全エネルギーを電子数ごとに正しく返すこと――これが第一原理計算の本領である。準粒子ギャップもまた全エネルギーの差でできていて、同じ家系の量だ。違いはただ一点、電子数の壁をまたぐことにある。

そして、印字された \(E_g^{\text{KS}}\) は、この準粒子ギャップとは別の量だ。Kohn-Sham 固有値は、方程式を解く途中で各準位に割り当てられる補助的な数――いわば整理番号のようなもの――であって、「電子を 1 個 出し入れするエネルギー」であることを約束されてはいない。だから \(\varepsilon_{\text{CBM}}-\varepsilon_{\text{VBM}}\) を、そのまま物理のギャップとして読むと、ある量を別の量と取り違えることになる。

つまり、こういうことだ。計算は壊れていない。基底状態の量は正しく返している。取り違えていたのは、画面に出た数が何の量かである。 「計算は壊れていない。けれど、その数字をそのままシリコンのギャップだと読んではいけない」――この結論が、ここでようやく中身を持った。

flowchart TB
    S["シリコンの結晶(電子数 N)"]
    S --> L1["標準の計算<br>電子数 N のまま 1 回"]
    S --> R1["電子を 1 個 出し入れ<br>N+1・N・N−1"]
    L1 --> L2["Kohn-Sham 固有値の差<br>ε(CBM) − ε(VBM) ≈ 0.6 eV<br>標準計算が返す『ギャップ』"]
    R1 --> R2["全エネルギーの差<br>E(N+1)+E(N−1)−2E(N) ≈ 1.1 eV<br>教科書のギャップ(準粒子ギャップ)"]
    L2 -. "差 = 微分不連続 Δ" .-> R2
    style L2 fill:#fff3cd,stroke:#ffc107
    style R2 fill:#d4edda,stroke:#28a745
図 1: 同じシリコンに対する二つの『ギャップ』。標準の計算が印字するのは Kohn-Sham 固有値の差(左の道)。物理が問うのは電子を 1 個 出し入れする全エネルギーの差(右の道)。両者を隔てるのが微分不連続 Δ である。

小課題 9.1

次の主張に反論してほしい。

「シリコンのギャップが教科書の半分しか出ないのだから、この計算は間違っている。」

反論には、次の二つの事実を使うこと。

  1. 同じ計算(同じ汎関数)が、格子定数を実験値 5.431 Å に対して約 0.7 % で当てている。まず、格子定数とギャップそれぞれの相対誤差を求め、桁を比べよ。

  2. 計算が「ギャップ」として印字するのは Kohn-Sham 固有値の差 \(\varepsilon_{\text{CBM}}-\varepsilon_{\text{VBM}}\) であり、物理のギャップ(電子を 1 個 出し入れする準粒子ギャップ)とは別の量である。

解答例

まず相対誤差を出す。格子定数は \((5.47-5.431)/5.431 \approx 0.7\,\%\)。ギャップは \((1.1-0.6)/1.1 \approx 45\,\%\)。比にすると 60 倍を超え、桁が二つ近く違う。

  1. もしこの計算がまるごと「間違っている」のなら、格子定数も大きく外すはずだ。ところが格子は 1 % 以内で当たっている。原子を動かして全エネルギーを比べて得る量を、計算はちゃんと正しく返している。だから「壊れている」の一言では、格子が当たっている事実を説明できない。

  2. では、なぜギャップだけが大きくずれるのか。印字された値は固有値の差であって、電子を 1 個 出し入れするエネルギー差(準粒子ギャップ)ではない。両者は別の量で、(半)局所の汎関数は両者を隔てる微分不連続を欠くため、固有値の差は系統的に低く出る。

以上より、反論はこうまとまる。ギャップが半分に見えるのは計算の誤りではなく、印字された数字の意味を取り違えた結果である。 同じ計算が格子を 0.7 % で当てている事実と、ギャップが 45 % ずれる事実は、矛盾なく両立する。前者は基底状態の量、後者は固有値の差を準粒子ギャップと読んだことのずれ、と出どころが違うからだ。さらに言えば、私たち自身の収束計算はそのギャップを出してすらおらず、読むには空の準位まで解く別の計算が要る。「間違い」と切り捨てる前に、その数字が何の量で、そもそも何を計算したのかを問う――それがこの反論の芯である。

4 なぜ過小評価するのか(さわり)

では、\(E_g^{\text{KS}}\)\(E_g^{\text{qp}}\) は、どれくらい、どちら向きにずれるのか。さわりだけ覗いておこう。

厳密な議論によれば、たとえ完璧な汎関数を使ったとしても、Kohn-Sham 固有値の差は準粒子ギャップにそのまま一致しない。両者のあいだには、

\[ E_g^{\text{qp}} = E_g^{\text{KS}} + \Delta_{\text{xc}} \]

という橋がかかっている。この \(\Delta_{\text{xc}}\) は「微分不連続」と呼ばれ、電子数が整数を 1 つまたぐ瞬間に、交換相関ポテンシャルが不連続に跳ぶ量である。電子を出し入れするとは、まさにこの整数の壁をまたぐことだから、本物のギャップにはこの跳びが効く。

ところが PBE のような (半)局所近似の汎関数は、密度のなめらかな関数としてつくられている。電子数が整数を通り過ぎても、ポテンシャルは何も跳ばない。\(\Delta_{\text{xc}}\approx 0\) である。継ぎ足すべき橋を、この種の汎関数はそもそも持っていない。だから固有値の差は本物のギャップに届かず、系統的に低めに出る――シリコンでは、約半分まで。

ここは強調しておきたい。これは故障でも偶然でもなく、道具の性質から向きまで予言できるずれである。(半)局所の汎関数を使うかぎり、ギャップは下振れする。ecutwfc を上げても、K_POINTS を細かくしても、収束先がこの値なのだから、刻みをいじって埋まる差ではない。原因がここまで素性の知れたずれなら、対処にも筋道が見える。微分不連続にあたる物理を別の形で取り戻す道具――非局所の交換を一部混ぜる混成汎関数、電子の出し入れを正面から扱う \(GW\) と呼ばれる近似、あるいは先に見た三つの全エネルギーの差から攻める方法――が用意されている。それらに深入りするのは本書の役目ではない。大事なのは、過小評価が「計算の失敗」ではなく「道具の選び方」の問題だと見抜けることだ。

小課題 9.2

微分不連続 \(\Delta_{\text{xc}}\) の大きさを、シリコンの数字から見積もってみよう。関係式は \(E_g^{\text{qp}} = E_g^{\text{KS}} + \Delta_{\text{xc}}\)。PBE の固有値ギャップ \(E_g^{\text{KS}} \approx 0.6\) eV、本物の準粒子ギャップ \(E_g^{\text{qp}} \approx 1.1\) eV を使え。

  1. \(\Delta_{\text{xc}}\) はいくらか。

  2. それがギャップ全体に占める割合を述べ、「(半)局所の汎関数がこの分をまるごと欠く」と、ギャップが半分になることがどうつながるかを一文で書け。

解答例

  1. \(\Delta_{\text{xc}} \approx E_g^{\text{qp}} - E_g^{\text{KS}} \approx 1.1 - 0.6 = 0.5\) eV。

  2. これはギャップ全体 1.1 eV の半分近い。(半)局所の汎関数は \(\Delta_{\text{xc}}\approx 0\) で、この 0.5 eV をまるごと持っていない。だから固有値ギャップは本物より約 0.5 eV 低い 0.6 eV にとどまり、結果として「約半分」に見える。過小評価のおよそ半分は、欠けた微分不連続そのものだと読める。

よくある誤解

「DFT はシリコンのギャップすら当てられない。やはり当てにならない道具だ」と一般化したくなる。だが今見たとおり、同じ DFT が格子定数も凝集エネルギーも 1 % 級で当てている。だから腑分けして受け取るのが正しい。基底状態の量――原子の並び方、結合の強さ――は第一原理計算の得意分野であり、ここは安心して頼ってよい。一方、電子を出し入れする量――ギャップのような励起・帯電のエネルギー――には、(半)局所の汎関数だけでは足りない物理があり、別の道具を継ぎ足す。「DFT はダメ」と十把ひとからげにするのではなく、「どの量はそのまま信じ、どの量には道具を足すか」を量ごとに棲み分ける――これが、過小評価という事実から汲むべき教訓である。

5 この章のまとめ

本章で、最初に立てた問いに答えが出た。

  • JOB DONE と収束は、数値の刻みが十分だったというサインであって、本物との一致の保証ではない。前章の格子の 0.7 %、本章のギャップの約 45 % は、どちらも「収束しても残るずれ」という同じ教訓の、大小二つの現れである。
  • シリコンのバンドギャップは、教科書で約 1.1 eV。標準的な PBE 計算ではおよそ 0.6 eV――その半分ほどにとどまることが、広く知られている。
  • そして私たちの収束計算は、そのギャップをまだ出していない。解いたのは占有状態の 4 本だけで、highest occupied level(約 6.21 eV、価電子帯の頂上)までしか持っていない。ギャップを見るには、nbnd を増やして空の準位まで解く別の計算(nscf)が要る。走り切ったことは、知りたい量に答えたことを意味しない。
  • だが同じ計算が、格子定数を約 0.7 % で当てている。壊れた計算は格子をここまで当てない。だから「ギャップが半分」は、計算の故障では説明できない。
  • 印字された「ギャップ」は Kohn-Sham 固有値の差 \(\varepsilon_{\text{CBM}}-\varepsilon_{\text{VBM}}\)。物理のギャップは、電子を 1 個 出し入れする全エネルギーの差 \(E(N+1)+E(N-1)-2E(N)\)(準粒子ギャップ)。両者は別の量で、(半)局所の汎関数は両者を隔てる微分不連続(約 0.5 eV 分)を欠く。
  • ゆえに、計算は壊れていない。取り違えていたのは数字の意味だった。基底状態の量はそのまま信じ、励起・帯電の量には別の道具を足す――そう棲み分ければよい。

そして、この章はひとつ厄介な置き土産を残す。同じ第一原理計算の枠組みが、信用できる格子定数は基底状態の計算からそのまま返すのに、ギャップについては――私たちの収束計算はそもそも返さず、別の計算で出したとしても、そのままでは信用できない。これほど性格の違う二つの量を、同じ強さ・同じ口調で書いてしまってよいはずがない。けれど、どう書き分ければよいのか。

次章の入口は、この問いから始まる――同じ枠組みから「格子定数を 1 % の精度で再現した」とは胸を張って言える。その一方で「ギャップは当てにならない」とも言い添えねばならない。なぜ、この二つを同じ口調で書いてはいけないのか。