Skip to content

kBT — 有限温度と均し方 (t_tetrakbt / t_sigmaw / wcsmear) ​

GW と QSGW で、電子温度と数値的な均し方を決める [gw] のキーを説明する。 側()と 側()に別のキーがある(表 4)。 側の t_sigmaw は常に有効な数値的な幅、 側の t_tetrakbt は必須で、正なら物理的な電子温度、 負なら を均す Gaussian の幅(温度で書く)、0 なら均さない。

この頁にはいまの仕様を書く。古い入力や記録を読むときのキーの変遷は §2.5 の表 2。2026-06〜09 の経緯と当時の計算の説明は MD/kBT/history.md。

表 4. [gw] のキー(温度の単位は K)

キーどこに効くか既定
t_tetrakbt(必須) の均し方を符号で選ぶ(0: 均さない、: 有限温度のテトラヘドロン、: Gaussian。§2 の表 1)無し(書かないと止まる)
t_sigmaw、 の中間準位を均す Fermi-Dirac 核の幅(§3)1000
wcsmear の実軸極項で、極の位置にも同じ核を使って を積分する(§3.5)true
chi0_skip_window = [emin, emax] (eV)両端がこの窓に入るバンド対を から除く(cRPA 風。試験中)off

gwinit のテンプレート(ctrlgenToml.py もこれを使う)は t_tetrakbt = 300、t_sigmaw = 300 を書く。

使い分け

  • 絶縁体・半導体: テンプレートのままでよい(§4)。
  • 電子温度の効果を見る: t_tetrakbt = t_sigmaw = T(§5.1 の Si、§5.2 の Fe)。
  • 金属で反復や k メッシュによってバンドが荒れる( のプラズモン極、§3.5): wcsmear(既定)と t_sigmaw = 1000。 を T=0 のまま均すなら t_tetrakbt を負にする。

LiTi₂O₄ の設定: は T=0 のテトラヘドロンで、 を Gaussian で均す t_tetrakbt = -992.4 (Fermi-Dirac 992.4 K と同じ幅、標準偏差 0.155 eV)、t_sigmaw = 1000、wcsmear = true、mixbeta = 0.5。 はこれで 8 反復で収束し(反復 7→8 の QP の変化は最大 10、平均 2 meV)、 と の一発の差は dSEnoZ 最大 13 meV。 MLO-QSGW の計算(§5.3、ecalj Samples/kBT/LiTi2O4)も同じ設定である。


0. T=0 と有限温度で何が変わるか(一覧) ​

温度は 側と 側で独立のキー。t_tetrakbt > 0 を使うなら 側の t_sigmaw と同じ T にするのが自然 (必須ではない)。LiTi₂O₄ の設定は を T=0 のまま t_tetrakbt < 0 の Gaussian で均す(冒頭の「LiTi₂O₄ の設定」)。

側(hx0fp0 / hgw の W-build) ​

t_tetrakbt の 3 通り(0、、)の違いは §2 の表 1 と式 (3)〜(8)。どの場合も chi0_skip_window = [emin, emax] (eV、両端が窓に入るバンド対を から除く。試験中)が使える。

側(hsfp0_sc / hgw の 、hsfp0 の ) ​

側に「T=0 と有限温度」の区別は無い。核は常に Fermi-Dirac、幅は t_sigmaw。 唯一 側の温度に連動するのは Fermi 準位である。

表 5. 側で の温度に連動するもの、しないもの

t_tetrakbt ≤ 0t_tetrakbt > 0
Fermi 準位k メッシュの上の準位を、幅 (t_sigmaw)の Gaussian で均して数えて決める(efsimplef2ax。 が使う EFERMI とは別に決まる)EFERMI_kbt(無ければ止まる)
準位の占有核( の重み、極項の窓重み)Fermi-Dirac、幅 = t_sigmaw同左
極項で を拾う位置wcsmear = true(既定): FD 核で を積分。false: 平均 (3 点内挿)同左
中間状態の候補窓・ メッシュの余裕(sig_window)同左
虚軸積分、 自体、sigm の混合(mixbeta)共通共通
  • t_sigmaw は数値的な幅であって、完全な有限温度自己エネルギー(Bose 項、§8.7)ではない。 核 の標準偏差は (1000 K で 0.156 eV)。
  • wcsmear は温度スイッチではなく「極の位置にも占有核と同じ分布を使う」スイッチ(§3.5)。
  • 側は T=0 で本当に鋭い なので、t_tetrakbt を 0 でなくして初めて幅が付く。

1. なぜ要るか ​

用途は二つある。

  1. 電子温度の物理。 では Fermi 準位の近くの占有が Fermi-Dirac 分布になり、半導体ではギャップを越えて熱励起された キャリアが遮蔽に加わる。 側の t_tetrakbt = T(§2.3)と 側の t_sigmaw = T(§3)で扱う。 Si では電子温度 3000 K でギャップが 0.16 eV 縮む(§5.1)。
  2. 金属の QSGW の数値的な安定化。金属では小さな の に鋭いプラズモン極があり、 の実軸極項が それを 1 点で拾うと、k メッシュと反復のたびに値が大きく変わる(§3.5)。これを均すのが 側の wcsmear と t_sigmaw、 側の t_tetrakbt < 0(Gaussian、§2.4)である。このときの温度は数値的な幅で、物理の温度ではない。

2. 側 — t_tetrakbt ​

[gw] t_tetrakbt (K) は必須である(書かないと止まる)。符号で の均し方を選ぶ(表 1)。 gwinit のテンプレートは t_tetrakbt = 300 を書く。キーの名前と意味は何度か変わったので、古い入力や記録を読むときは §2.5 の表 2 を見よ。

表 1. t_tetrakbt の 3 通り

t_tetrakbt占有の差 の 方向 の Fermi 準位( は §0 の表 5)使いどころ
0鋭い階段、式 (3)そのままEFERMI絶縁体・半導体
温度 の Fermi-Dirac、式 (4)(5)そのままEFERMI_kbt、式 (6)電子温度の物理(§1、§5.1)
鋭い階段、式 (3)Gaussian で均す、式 (7)(8)EFERMI金属で のプラズモン極が荒れるとき(§3.5)
toml
[gw]
t_tetrakbt = 0        # (K) 必須。0: 均さない。T > 0: 温度 T の有限温度テトラヘドロン。-T: Im chi0 を Gaussian で均す

2.1 共通 — のヒストグラムと Hilbert 変換 ​

どの場合も、 はまず を のヒストグラムとして作り、そこから Hilbert 変換で実軸の実部と 虚軸の値を作る。ビン は で、中心を 、幅を と書く (frhis。HistBin_dw と HistBin_ratio で決まる指数メッシュで、 が大きいほど広い)。 の準位 から の準位 への遷移をテトラヘドロン法で積んだビンの重みは

である( は積基底との行列要素。係数とスピンの和は省いた)。テトラヘドロン法は四面体の中で準位と行列要素を 線形に補間し、その範囲で 関数のビンへの積分を厳密に行う。 がビン での の平均になる。 は の奇関数()なので だけを持ち、 ビンの平均を中心の間で区分線形につないで

をビンごとに解析的に積分する(hilbertmat、dpsion5.f90 の dpsion_init と dpsion_chiq_*)。実軸では の 実部が で、虚部はビンの平均をそのまま使う。虚軸では で、奇関数なので値は実数になる。 3 通りの違いは、式 (1) の占有の差 と、式 (2) に渡す前の の扱いだけである。

2.2 t_tetrakbt = 0 — T=0 のテトラヘドロン ​

占有は Fermi 準位 (EFERMI)での階段で、式 (1) の占有の差は

である(lindtet6。占有された から空の への遷移で、 に入る)。

2.3 t_tetrakbt = T > 0 — 有限温度のテトラヘドロン(method B′) ​

有限温度の占有の差は、式 (3) の階段を Fermi 準位 について熱核 で平均したものに等しい。 として

式 (1) は について線形なので、有限温度のビンの重みは、Fermi 準位を に置いた T=0 の重み を について平均したものになる。 と置くと で、これを 20 点で積分する:

節点 と重み は、(すなわち )を の 4 区間に分けた 5 点 Gauss-Legendre(gausq_fd)。 の和を 1 にしてあるので、区間の外を切っても占有の和は保たれる。 四面体の 4 頂点で も も窓 の片側の外にそろっている(窓の中で占有が平ら)ときは、T=0 の値 そのものなので 20 回の計算を省く(lindtet6_kbt、tetwt5.f90)。式 (5) は 積分と 積分の順を入れ替えただけで、 誤差は の数値積分だけである(§7.1、§7.2)。得られる分子は Adler–Wiser の であって ではない (応答関数として正しいのはこちら。 側で落ちるものは §7.4)。

= EFERMI_kbt は heftet が、テトラヘドロンの状態数 を同じ熱核で均して

を二分法で解き、ファイル EFERMI_kbt に書く(fermi_kbt_tetra、main_heftet.f90)。 でテトラヘドロンの に戻る。 ギャップの中で解が区間になる(左辺がギャップにわたって で平ら)ときは区間の中央を取る(§9 の 2)。 t_tetrakbt > 0 のときは も もこれを使い、ファイルが無ければ止まる(§0、§3)。t_tetrakbt ≤ 0 のときは、 は heftet のテトラヘドロン法の EFERMI を、 は k メッシュの上で数えた Fermi 準位(§0 の表 5)を使う。

出力での確認(heftet の標準出力):

tetrakbt_init: T[K], kbt[Ry], kbt[eV]  2000  0.12667E-01 0.17234E+00

2.4 t_tetrakbt = -T — を Gaussian で均す ​

占有と Fermi 準位は T=0 のまま(式 (3)、EFERMI)で、式 (2) に渡す前にビンの重み を 方向に Gaussian で均す。 Gaussian の標準偏差は、温度 の Fermi-Dirac の核 の標準偏差に合わせる:

( K で eV Ha)。均し方は

で、和はどれも のビンを走る(gaussianfilterhis と smearx0_apply、dpsion5.f90)。列 はビン の重みを 周りのビンへ Gaussian で配り直す:

  • 分子の (行き先のビンの幅): 幅の違う指数メッシュの上でも、平均 を Gaussian で畳み込んだことになる
  • 分子の第 2 項 : 奇関数への拡張。負の にこぼれる分を符号を変えて折り返す。 は で 0 に行く
  • 分母: 対称な核の での和。 では になり、式 (8) は連続の式

すなわち奇関数に延ばした と の畳み込みになる。式 (9) は f-sum を保つ ( での重みの和は、0 の近くで折り返す分だけ減る)。 では Gaussian の一部しか に 無いので分母が より小さく、式 (8) は式 (9) からずれる

  • を両方持つ場合(npm = 2、マグノンの など): 折り返しの無い対称な核を と に別々にかける

均した から式 (2) で実部と虚軸の値を作るので、実軸の 、虚軸の 、静的な はどれも同じ 均した から来る。

は Gaussian の幅を温度で書く約束であって、有限温度の (式 (5))とは別物である。式 (5) は準位の占有を均し、 式 (8) は遷移エネルギー の分布を均す。

入力の値は m_GWinput で (Ha。内部の変数名は SmearX0)に直され、出力に次の行が出る:

 SmearX0 (Ha) =   5.7438E-03  : Gaussian smearing of Im chi0 along omega ([gw] t_tetrakbt < 0)

2.5 キーの変遷 ​

表 2. と の均し方の入力の変遷

期間 の均し方 の準位の幅(§3)
〜2026-06GaussianFilterX0(GWinput、 の Gaussian)esmr(Ry、Gaussian)
2026-06 〜 09-18有限温度は論理キー tetrakbt = true と t_tetrakbt (K)。Gaussian は SmearX0(Ha、。GaussianFilterX0 の改名)esmr、または t_sigmakbt(K、Fermi-Dirac)
09-19 〜 09-27t_tetrakbt > 0 だけで有限温度(既定 0 = 均さない)。SmearX0 は 09-20 から t_tetrakbt > 0 と排他09-20 から t_sigmaw(K、Fermi-Dirac)。esmr と t_sigmakbt は換算して読む
09-28 〜t_tetrakbt は必須で、符号で 3 通り(表 1)。SmearX0 は読まない(書いてあれば止まる)t_sigmaw
  • SmearX0 = s と t_tetrakbt = -T は、式 (7) で のとき同じ計算になる(0.0057 Ha と K)。 ctrlg_update.py ctrlg.<sname>.toml がこの換算で書き換え、t_tetrakbt の無いファイルには 0(以前の既定)を足す
  • esmr = (Ry、Gaussian の標準偏差)と t_sigmaw = は、 のとき同じ幅になる(0.003 Ry と 262 K、0.01 Ry と 872 K)。 t_sigmaw が無い入力に esmr や t_sigmakbt があれば、esmr はこの換算で、t_sigmakbt は値のまま t_sigmaw として読む
  • gwinit のテンプレートは 2026-06 から 09-16 まで tetrakbt = true、t_tetrakbt = 300 を書いていた(09-17 に外した)。 09-28 からは t_tetrakbt = 300、t_sigmaw = 300 を書く

3. 側 — t_sigmaw ​

の中間準位( の極)は Fermi-Dirac 核で均される。その幅が t_sigmaw (K) で、 の占有重み、 の実軸極項の窓重み、wcsmear の極位置の分布の すべてに同じ核が使われる。

toml
[gw]
t_sigmaw   = 1000.0   # (K) Sigma の準位を均す FD 核の幅。既定 1000
t_tetrakbt = 1000.0   # chi0 も有限温度にするなら。Sigma の Fermi 準位が EFERMI_kbt になる

窓の重みは Fermi–Dirac の累積分布

である。同じ核が の虚軸積分にも入る — 極項と虚軸積分は一つの contour の二つの半分で、準位の smearing は両方に同じ核で入れないと が壊れる。これは重要な点なので §3.6 に独立に書く。 中間状態の候補窓と実軸 メッシュの 余裕は核の裾 (sig_window)で、t_sigmaw を上げれば自動的に広がる(§7.3)。

温度の選び方 ​

  • 絶縁体: ギャップより十分小さければ効かない(Si で 262 K と 1000 K の差は数 meV)。
  • 金属: 原理的には 、t_sigmaw → 0 の極限だが、k メッシュの Fermi 面での準位間隔と同程度の幅が要る。300〜1000 K を物質ごとに。LiTi₂O₄ は 1000 K。
  • t_tetrakbt を使うときは同じ温度にするのが自然(必須ではない)。

出力での確認 ​

    t_sigmaw =   1000.0 K  (Sigma kernel width kBT =    0.006333 Ry)
 sigmaw_setup: Sigma kernel Fermi-Dirac, t_sigmaw[K]=  1000.0  ef: counted on the k mesh (efsimplef2ax); chi0 at T=0

t_tetrakbt > 0 なら ef<-EFERMI_kbt=...。このとき EFERMI_kbt(heftet が書く)が無ければ abort する。


3.5 金属の荒れの正体と wcsmear ​

金属の QSGW では、バンドが k メッシュと反復によって数十 meV 荒れたり、LDA からの一発 GW で の近くに eV の大きさの針が 立ったりすることがある(LiTi₂O₄ の 1000 K 以下、 で O 2p 帯の底が 30〜100 meV 荒れ、一発 GW で −2〜−3 eV の針)。原因は次のとおり (調べた記録は ecalj の MD/research_kotani_log.md の 2026-09-18〜19)。

  • 犯人は の実軸極項(切ると異常な非対角 ⟨48|Σc|33⟩ が −13 → −0.35 eV)。 虚軸積分、sigm の混合、offset-Γ の頭、 内挿法は無関係。
  • 極項が踏んでいるのは、第一殻 の にある t2g プラズモン極 ( eV、幅 ≈ 0.1 eV。--dumpW で直接確認)。極項は各中間状態 について を 1 点で拾うので、その が極の ±0.1 eV に落ちる項が ±50 a.u. を受け取り、 反復で固有値が動くたびに極の反対側へ渡る(シーソー)。
  • 温度で単調に消える: ⟨48|Σc|33⟩ = −27 / −13 / −3.2 / −1.9 eV (500 / 1000 / 1500 / 2000 K)。 2000 K 以上の run に事故が無かったのはこのため。

対策 wcsmear = true(既定): 中間準位の smearing 核 (Fermi-Dirac の 、幅 t_sigmaw)を、窓の重み にだけ使い、 は平均エネルギー の 1 点で評価するのが PRB 76, 165106 Eq. 58 のやり方(wcsmear = false)である。 積分の離散化として重みと極の位置に同じ核を使うのが一貫しており、

と 側を積分する(式 (11))。 が核の幅の中で滑らかなら 1 点評価と一致し(Si で最大 77 meV、 低い状態は数 meV)、極は核の幅で均される(表 6)。

表 6. wcsmear の効果

LiTi₂O₄ 1000 Kwcsmear = falsewcsmear = true
一発、Γ–L の針−3.4 eV消える
一発、O 2p 荒れ12.2 meV7.2 meV
iter 2→3、O 2p 荒れ(混合なし)47.8 meV12.7 meV
実軸極項のコスト—×6.7(全体で +7 %、 +26 %)
toml
[gw]
t_sigmaw   = 1000.0   # 既定値。wcsmear = true も既定
t_tetrakbt = 1000.0   # chi0 側も有限温度にするなら

注意: (1) 概念的には「G の極を幅 のスペクトル関数として扱う」近似を極項全体に通したもので、 contour の縁(E_F と ω)は鋭いまま。(2) 有限温度で Fermi-Dirac の を 極の位置の分布に使うのは発見的な正則化(厳密な有限温度の式は準位を鋭いまま θ → f にするだけ)。 本来の幅は 積分(テトラヘドロン)から出るべきもの。(3) 実装は QSGW 経路(hsfp0_sc / hgw) と、一発 GW の hsfp0(sxcf_fal2、gw_lmfh)の極項。

限界: wcsmear は極を「跨いで拾う」状態(O 2p、一発目の針)の荒れを均すが、 直下の準位と +3 eV の準位のように2 準位の間にプラズモン極が挟まる対の非対角 は消せない( が急変する区間を 跨ぐ対では静的化の前提が破れる)。LiTi₂O₄ の 、1000 K では反復 2 以降に 近傍に この型の針が残る。RPA の に減衰の無い鋭い極がある以上、静的 QSGW の適用限界であり、 1500 K 以上(極が Landau 減衰)では出ない。

wcsmear = false で 1 点評価に戻せる(絶縁体で数 meV、金属で数十 meV の違い)。極項の重みを と同じテトラヘドロン 積分で作る方法は実装していない。


3.6 の contour 分解と準位 smearing の整合 ​

t_sigmaw の核は「占有数」だけの話ではない。 を虚軸積分と実軸極項に分ける contour 分解では、中間準位を均す核が両方の項に同じ形で入っていないと、 の近くにある準位で 段差が打ち消さず、 級(eV 級)の誤差が出る。核を変える・別の核を試すときは必ずここに戻ること。

鋭い準位の式 ​

中間準位 一つ、(Hartree)、 の行列要素 を 省いて書く(PRB 76, 165106 Eq. 57–58 の骨格):

( は 、 の は実軸の値、 は「準位が と の間にある」)。 で という段差があり、極項の窓の縁 ()で が と跳ぶ段差とちょうど打ち消して、和は の連続関数になる。 コードは を とその残りに分け、段差を含む前者を解析的に

と書く(wintz_npm、m_sxcf_sc の core 準位用の分岐)。残りは滑らかなので niw 点の Gauss–Legendre で足りる。

Gaussian の核の場合(2026-09-19 までのコード、esmr) ​

価電子準位には (13) ではなく、被積分関数から 2 次元 Gaussian の一片を落とした

が使われていた。落とした一片の解析積分は で、 の極限で (13) の段差項と合わせると

— 虚軸側の段差を Gaussian(標準偏差 )で均したものである。極項側の窓重み (10) も同じ の Gaussian 累積 だったから、両側が整合して「Gaussian で均した準位の 」になっていた。 つまり Eq. 57 の sig は数値正則化ではなく、準位 smearing そのものだった。

極項だけ核を変えるとどうなるか ​

極項の重みを Fermi–Dirac の にし、虚軸側を (14) のままにすると、準位ごとに が打ち消されずに残る。 が 数 の準位でだけ効くが、 の頭 が乗るので大きさは eV 級になりうる。 実測(NiO 2³、L 点の O 2s 対、LDA で 70 meV 差、t_sigmaw = 262 K):

表 7. 核を片側だけ変えたときの (NiO 2³、L 点の O 2s の対)

SEc [eV] (state 1 / 2)両側 Gaussian極項だけ FD両側 FD(現在) wcsmear=false両側 FD、wcsmear=true 30 / 262 / 473 K
10.523 / 10.5419.909 / 10.99210.523 / 10.541(QSGW 固有値も一致)10.495 / 10.503 / 10.510 ; 10.524 / 10.528 / 10.533

極項だけ FD では ±0.6 eV(反相関)、QSGW 固有値で 0.47 eV、しかも幅に強く依存した (30/100/150/262/473 K で 10.54/10.48/10.31/9.91/9.72 eV)。両側を揃えると幅依存はほぼ消える。

現在の式 — 両側とも FD 核で平均する ​

核 (幅 = t_sigmaw)で均した準位の を、

と両方の項で平均する。第 2 項が wcsmear(窓重み 、 を核で積分、§3.5)。 第 1 項は鋭い式 (13) を使い、不連続な だけを解析的に

で置き、連続な残り( と数値部)は 、 の中点則で平均する (FD の累積分布が測度なので が一様)。 の準位は被積分関数が滑らかなので 鋭い式を 1 点で使う。core 準位()は (13) のまま。sig は消えた。 実装: m_sxcf_sc.f90 の CorrelationSelfEnergyImagAxis ブロック(QSGW)、wintzsg.f90 の wintzsg_npm(一発 GW)。

注意:

  • wcsmear = false では第 2 項が「重みだけ核で平均、 は平均エネルギー 1 点」になるので (16) の厳密な 平均ではない(差は )。段差の打ち消しは重みだけで決まるので、こちらは崩れない。
  • の分離と niw 点の精度は従来どおり。
  • 求積のコストは (itp, it) 対あたり niw の scalar 演算(CPU 側、GPU 転送前)。9³ LiTi₂O₄ でも rank あたり数秒。
  • 核を変えるときの規則: 占有重み(wfacx)、極項の窓重み(wfacx2 / pole_weights)、虚軸の段差 (17) の 3 か所が同じ を指していること。Gaussian に戻すなら (14)–(15) のように 3 か所とも戻す。

経緯と数値は MD/research_kotani_log.md 2026-09-20 12:17 / 13:10。


4. 幅と温度の選び方 ​

  • 絶縁体・半導体: ギャップが より十分大きければ、幅は結果に効かない。テンプレートの 300 K のままでよい (Si: t_tetrakbt = 0 と 300 K のギャップの差は 0.001 meV 以下、1000 K で −1 meV。§5.1 の表 9)。
  • 金属の t_sigmaw: 原理的には 、t_sigmaw → 0 の極限が求めるものだが、有限の k メッシュでは、 メッシュが Fermi 面の近くで持つ準位の間隔と同じ程度以上の幅が要る。目安は

( は一方向のメッシュの数)。LiTi₂O₄ の ・ では 1000 K( eV)。

  • t_tetrakbt: 電子温度の物理を見るなら正の値にして t_sigmaw も同じ温度にする。 の極を数値的に均すだけなら負の値 (Gaussian)にする。このとき Fermi 準位と占有は T=0 のままである。
  • 求めたい量が幅について収束していること、できれば同じ幅で 2 つの k メッシュが一致することを確かめる。
  • 電子温度が入るのは と だけである。lmf が作る密度は T=0 の占有(テトラヘドロン法)のままで、格子の温度(フォノン)も入らない。

5. サンプル — Samples/kBT/ ​

ecalj の Samples/kBT/ にある(表 8)。数値と図の全部、回し方は各ディレクトリの README。

表 8. サンプル

ディレクトリ中身時間
scanT/温度のスキャン。scan_T.sh が同じ入力を t_tetrakbt と t_sigmaw だけ変えて QSGW で回し、collect_T.py が表と図にする。Si・GaAs(§5.1)と bcc Fe・fcc Cu(§5.2)1 つの設定が 2〜10 分
LiTi2O4/金属スピネル LiTi₂O₄ の MLO-QSGW(§5.3) の 1 反復が 21 分(RTX 5090 × 2)
scanT/Si、Samples/TestInstall/fe_kbttestecalj の試験(Si と Fe の 3000 K、1 反復)20〜40 秒

どのサンプルでも、電子温度が入るのは と だけである(§4)。scanT は k メッシュが粗く反復も少ないので、 数値は温度による変化を見るためのもので、収束した値ではない。

5.1 Si と GaAs — ギャップと電子温度 ​

nkabc = n1n2n3 = 、LDA から QSGW 5 反復。t_tetrakbt = t_sigmaw = T。

表 9. Si のギャップ(SCF の k メッシュの上での最小。QSGW 5 反復後)

t_tetrakbt (K)t_sigmaw (K)ギャップ (eV) からの変化 (meV)
03001.2230
3003001.2230
100010001.222−1
200020001.188−35
300030001.066−157
500050000.913−310
30003001.090−133
030001.176−46
−300030001.173−50

Si のギャップと電子温度

図 1. 左: Si のギャップと電子温度(t_tetrakbt = t_sigmaw = T)。右: 反復ごとのギャップ

  • 300 K では と変わらない(差は 0.001 meV 以下)。2000 K から縮みが目立ち、3000 K で 0.16 eV 縮む。
  • 価電子帯の形はほとんど変わらず、伝導帯が価電子帯に対して全体に下がる。
  • 縮みの主な原因は 側である(3000 K の −157 meV のうち、 だけを 3000 K にすると −133 meV、 だけだと −46 meV)。 ギャップを越えて熱励起されたキャリアが遮蔽に加わり、 が小さくなる。
  • t_tetrakbt = -3000(Gaussian)では、 だけの場合とほぼ同じ(−50 meV)。Gaussian は占有を変えないので、キャリアの遮蔽は入らない(§2.4)。
  • GaAs(、QSGW 5 反復、直接ギャップ 1.415 eV)も同じ傾向である: 300 K で変化なし、1000 K で −4 meV、2000 K で −20 meV、3000 K で −95 meV、 5000 K で −267 meV。3000 K では だけで −83 meV、 だけで −39 meV(数値と図は Samples/kBT/scanT/README.md の表 3)。

5.2 bcc Fe と fcc Cu — 金属のバンドと磁気モーメント ​

nkabc = 、n1n2n3 = 、スピン分極、LDA から QSGW 3 反復。

表 10. bcc Fe(QSGW 3 反復後)。交換分裂は Γ の d バンド(バンド 5・6)のスピン 2 とスピン 1 の差

t_tetrakbt (K)t_sigmaw (K)磁気モーメント ()EFERMI_kbt − EFERMI (eV)交換分裂 (eV)
03002.429—2.619
3003002.426+0.0062.604
100010002.443+0.0452.688
300030002.420+0.2722.492
500050002.252+0.2791.842
30003002.441+0.2582.676
030002.409—2.450
−100010002.443—2.685
  • 300 K では とほとんど変わらない(対称点でのバンドの差は最大 14 meV)。
  • 1000 K までのバンドの動きは最大 63 meV で、温度について単調でない。 のメッシュでは、 の近くのどの状態が分数占有になるかで この程度は動く(§9 の 1)。
  • 3000 K から交換分裂とモーメントが減る。金属では 側が効く: 3000 K の交換分裂の変化 −0.13 eV は、 だけを 3000 K にした場合(−0.17 eV)に近く、 だけでは +0.06 eV。Si と逆である。
  • t_tetrakbt = -1000(Gaussian)と t_tetrakbt = 1000(有限温度)は、この温度ではほとんど同じ結果になる(バンドの差は最大 7 meV)。
  • 非磁性の fcc Cu(nkabc = 、n1n2n3 = 、QSGW 3 反復)では、1000 K までのバンドの動きは 11 meV 以下。3000 K から d バンドが に近づく (Γ の d バンドが 3000 K で +61 meV、5000 K で +130 meV 前後)。 だけで +46 meV、 だけで +24 meV で、両方が効く (Samples/kBT/scanT/README.md の表 4)。

5.3 LiTi₂O₄ — MLO-QSGW ​

金属スピネル LiTi₂O₄(14 原子)を、冒頭の「LiTi₂O₄ の設定」で、 を MLO で内挿する QSGW(mlo_gwsc)で LDA から 40 反復まで回した。まとめは ecalj の Samples/kBT/LiTi2O4/README.md。

  • GPU の行列積の精度(tf32、fp32、fp64)による MLO バンドの差は数 meV 以下。
  • は 10 反復まではバンドがなめらかで、20 反復から占有側のバンドに肩ができ、40 反復でも残る。
  • はメッシュ点の間の波打ちがなかなか減らないが、40 反復でかなりなめらかになる。メッシュ点を結ぶ内挿の曲線は、わずかに波打って見える。

6. 実装の場所 ​

表 3. 有限温度と均し方の実装(SRC/subroutines/)

ファイル役割
m_GWinput.f90[gw] の t_tetrakbt(必須、表 1)、t_sigmaw、wcsmear を読む。t_tetrakbt < 0 を (内部の SmearX0、Ha)に直す(式 (7))
tetwt5.f90 のテトラヘドロンの重み。lindtet6(式 (3))と lindtet6_kbt(式 (5))
fpiint.f90gausq_fd: 熱核の 20 点(式 (5)(6))
main_heftet.f90fermi_kbt_tetra: EFERMI_kbt(式 (6))
m_tetwt.f90t_tetrakbt > 0 なら lindtet6_kbt と EFERMI_kbt を使う
dpsion5.f90、hilbertmat.f90Hilbert 変換(式 (2))と Gaussian(gaussianfilterhis、smearx0_apply、式 (8))
genallcf_mod.f90sigmakbt_setup: の Fermi 準位(t_tetrakbt > 0 なら EFERMI_kbt、無ければ止まる)
wfacx.f90 側の Fermi–Dirac 核(fd_cdf、fd_iav。幅 t_sigmaw、式 (10))
m_sxcf_sc.f90、sxcf_fal2.f90 の実軸極項と wcsmear(§3.5、§3.6)

7. 実装の検証と限界 ​

実装を読み直して確かめたことと、残っている限界。 側の contour の恒等式(虚軸 + 極項)は §3.6。

7.1 恒等式は厳密 (確認済み) ​

lindtet6_kbt(tetwt5.f90)の method B′ は式 (4)(§2.3)を k 積分の内側で使っている。 積分と 積分が 交換するので厳密である。得られる分子は Adler–Wiser の であって ではない — 応答関数として正しいのはこちら。

個別に確認したもの:

  • ゲート(lindtet6_kbt の冒頭) — a/b が窓の外で平坦になる場合分けを全部たどったが、 どれも の値と一致する
  • node zero-skip(lindtet6_kbt の のループ) — lindtet6 が恒等的に 0 になる条件そのもの。 knorm は全節点で正規化されるので、飛ばしても整合する
  • efermia ≠ efermib でも (4) は成立する(それぞれの Fermi 準位での になる)
  • EFERMI_kbt(fermi_kbt_tetra、main_heftet.f90、式 (6)) — NOS を熱核で畳み込んで二分法。 でテトラヘドロンの に厳密に戻る。 χ0 側もこれを読んでいる(m_tetwt)

7.2 限界 — 積分の求積 ​

式 (5)(6) の 積分は 20 点で、 を の 4 区間に分けた 5 点 Gauss-Legendre である (gausq_fd)。 に最も近い節点は ()。テトラヘドロンの中のバンドの幅を として、 占有の因子の最悪の誤差を測ったものが表 11 である。

表 11. 積分の求積と占有の因子の最悪の誤差

求積節点
いまの実装: 4 区間 × GL5202.9e-21.6e-24.8e-32.6e-31.3e-3
6 区間 × GL4242.9e-21.1e-22.8e-31.7e-39.6e-4
2 区間 × GL10205.5e-21.9e-21.1e-23.8e-31.9e-3
1 区間 × GL20(2026-09-26 までのコード)201.7e-19.7e-22.3e-21.3e-26.8e-3

分散の大きいバンドでは誤差は小さい。平坦なバンド、バンドの端、van Hove 特異点が にあると、占有の因子が 0.01〜0.03 ずれる。 節点を増やしても誤差は でしか減らず、区間の切り方のほうが効く。被積分関数の折れ点(四面体の 8 個の角のエネルギー)で 区間を切るのが本筋だが、実装していない。Fe 3000 K の EFERMI_kbt の誤差(600 点の求積に対して)は 1.2 meV。

7.3 側の状態の窓 ​

中間状態の候補の窓と実軸の メッシュの余裕は、核の裾 ( は t_sigmaw、sig_window)で決まる。 切り捨てられる占有は で、t_sigmaw を上げれば窓も広がる。窓の中心と重みの中心は同じ Fermi 準位 (t_tetrakbt > 0 なら EFERMI_kbt)である。2026-09-19 までのコードでは窓が esmr で決まっていて、高温で占有が切り捨てられた (MD/kBT/history.md §4)。

7.4 範囲 — が要るのは「差」ではなく「和」 ​

を有限温度化しただけでは は揃わない。理由は一行で書ける。

中間状態の粒子‑正孔対を 、 として、

表 12. 粒子‑正孔対の重み

重み
対を作る
すでにある対を壊す

が持っているのはこの差 だが、 の中間状態の重みは和である(どちらも同じ分母を持つ)。 いまの実装は から差を取ってきて外側の を掛けるので、 の分が落ちる。 詳細釣り合い から

なので、これは普通 Bose 因子と呼ばれるものである。ただし出どころは Fermi の 占有数であって、ボソンの熱浴を外から入れたわけではない。導出は §8 を見よ。物理は単純で、 では 粒子‑正孔対がすでに熱励起されていて電子はそれを吸収できる、というだけのこと。

大きさ。 は で指数的に小さいので、効くのは の粒子‑正孔連続体だけである。金属で とすると

2000 K で eV²、 eV なら数 meV–数十 meV。

これは欠陥ではなく定義である。 ecalj のスキームは「温度 の占有数で作る 有効一体ハミルトニアン」であって、Mermin の有限温度 DFT が Fermi 占有数だけで 閉じているのと同じ立場である。QSGW は動的な ではなく静的エルミートな 一体ハミルトニアンを作るものなので、落ちているのが主に詳細釣り合い(= 寿命)側で あることもあって、影響は一発 GW のスペクトル関数を出す場合よりずっと軽い。 平衡の多体摂動論の が欲しいなら (19) が要る、というだけのことである。

7.5 core の交換 (CoreEx) ​

core との交換(hsfp0_sc --job=3)は、有限温度でも Fermi 準位を価電子の底の下に置いて、和に入る状態を core だけにする。 core の準位は よりずっと深いので、温度によらず T=0 の値になる。

2026-06-26 から 09-27 までのコードの有限温度の結果についての注意: この間のコードには CoreEx に誤りが 2 つあり、 core の状態の数 が占有バンドの数より少ない系(1s だけが core の軽元素の化合物など)では、core との交換に 価電子の状態の一部が入っていた。lsxC の CoreEx mode: ef nspin nctot= と valn=(価電子数)を比べれば判定できる (semicore を価電子に入れた系は core が減るので注意)。Fe()と LiTi₂O₄()には影響が無い。 誤りの中身は MD/kBT/history.md §5。


8. 付録 — 虚時間を使わない定式化 ​

がどこから来るのかは、松原形式を経由しなくてもはっきりする。むしろ そちらのほうがすべてが Fermi の占有数から出ることが見えてよい。 教科書では閉時間径路と平衡の話が分かれて書かれていることが多いので、 ここで通して書いておく。

以下 、エネルギーは から測る。 、。

8.1 の議論がなぜそのまま使えないか ​

の実時間摂動論は Gell-Mann–Low に依っている。断熱的に相互作用を入れると 、つまり 基底状態は位相を除いて自分自身に戻るので、 側を 側と 取り替えられて

と片道の時間順序積で書ける。

ではこれが使えない。 は固有状態ではなく、 断熱的に発展させても重みが非相互作用系のまま( であって ではない)なので、 側を 側と同一視できない。 (21) の分母に相当するものが書けない、というのが問題の本質である。

8.2 閉時間径路 — 行って戻る ​

そこで の状態を一切使わない。 と 往復する径路 を取れば、演算子を挟まない限り

が恒等的に成り立つ。分母が要らない。これが閉時間径路(Keldysh)の全部である。

径路順序積 (往路の後に復路が来る順序)を使って

場は の相互作用表示。 ではなく実時間で、 積が 積になっただけ である。 をどちらの枝に置くかで 4 つの成分が出るが、独立なのは 2 つで、 以下では

を使う。

8.3 Wick の定理 — 入力は だけ ​

は について Gauss 的なので Wick の定理がそのまま成立し、 縮約は自由な径路伝播関数になる。エネルギー の準位について

温度が入るのはここだけで、入るのは Fermi 分布だけである。 Bose 分布はこの段階でどこにも無い。

8.4 GW を径路上で書く ​

径路引数のまま、形は と同じ:

実時間成分に落とすには Langreth 則を使う。同じ引数の積 に対して

がひっくり返るのが要点である。

8.5 の 成分 — ここで が出る ​

(26)(27) と (25) から、時間並進対称性を使って

が対を作る過程、 がすでにある対を壊す過程である。 では 。

スペクトル関数は差のほうで、

これが のコードが計算している量である。一方 (28) の比は を代入するだけで

となり、 を使えば

はここで初めて現れる。仮定ではなく (25) の Fermi 分布からの帰結である。 ボソンの熱浴を外から入れた覚えはないのに Bose 分布が出るのは、 がボソン的な相関関数だから((30) がボソンの KMS 条件そのもの)。

RPA の衣を着せても比は変わらない。 で だから、 (30) はそのまま に受け継がれる。

8.6 の 成分 ​

(26)(27) より 、 振動数では

(25) を入れ、、 、 とすると、 から

の符号で分けて を使えば、 見慣れた放出因子 と吸収因子 になる。実部は Kramers–Kronig で決まる。

の確認: 、、。 の準粒子について、 が占有だと (Pauli 阻止)、 が空だと で寄与する。従来の GW に戻る。

8.7 いまの実装が保っているもの・落としているもの ​

ecalj が計算しているのは 、すなわち (29) の差である。 を組むときに外側の だけを有限温度にし、(33) の は入れていない。 つまり

これは の詳細釣り合い

を破る((32) と (30) から (34) は両方を残したときにのみ成り立つ)。 したがって得られる は、厳密にはどんな温度 の平衡状態のものでもない。

一方でこれは QSGW では軽い。QSGW が作るのは静的エルミートな一体 ハミルトニアンで、 は最初から捨てているからである。 (34) が壊れているというのは主に寿命側の話で、QSGW が使う への影響は (20) の にとどまる。

8.8 初期相関についての注意 ​

8.2 では (非相互作用の熱平衡)から断熱的に相互作用を入れると書いたが、 これは初期相関を落としている。厳密には径路に虚時間の縦枝 を足した Kadanoff–Baym 径路を使い、そこに初期相関を 持たせる(Danielewicz)。平衡かつ断熱的な場合には縦枝が実時間部分から 分離し、結果は松原形式と一致する。

ここで が顔を出すのは初期条件を指定するためであって、 摂動展開そのものは実時間のままである。 が出るかどうかとは関係がない — それは 8.5 で見たとおり (25) の Fermi 分布だけから出る。


9. 残っている課題 ​

  1. 金属での t_sigmaw の選び方の検証。 から 以内の少数の状態が分数占有になり、その状態の SEx と SEc が eV の大きさで動いて 打ち消し合う。粗いメッシュでは「どの状態が を跨ぐか」に敏感なので、メッシュについての収束()を数値で押さえる必要がある (Fe の温度依存は §5.2)。
  2. 絶縁体の EFERMI_kbt。ギャップの中で解が区間になるときは区間の中央を返す。物理的には状態密度の非対称で決まる真性の を返すべきで、 fermi_kbt_tetra の窓()と熱核の届く幅()の関係で結果が変わる(GaAs 300 K で 0.15345 Ry、T=0 の中央は 0.15221 Ry)。
  3. の Bose 項(§7.4、§8.7)。 を落としている。3000 K で効くかは見積もっていない。
  4. 積分を被積分関数の折れ点で切る(§7.2)。
  5. 2 準位の間にプラズモン極が挟まる対の非対角要素(§3.5 の限界)。wcsmear では消えない。
  6. lmf の密度は T=0 の占有のまま(§4)。高温で熱励起されたキャリアの密度への寄与は入っていない。
  7. LiTi₂O₄ の 、3000 K は反復を追える計算が無い。
  8. t_tetrakbt ≤ 0 のときの の Fermi 準位は Gaussian の数え上げで決め(§0 の表 5)、準位を均す核は Fermi-Dirac である。 同じ核に揃えていない。

10. gwkbt-dev について ​

この頁の内容はすべて main に入っている。ブランチを使い分ける必要はない。 別系統の gwkbt-dev は、有限温度の を別の設計(gwkbt Stage A/B)で作りかけたもので、使える状態ではない。 この頁の t_sigmaw とは別物である。


関連 ​

  • QSGW の計算 (gwsc)
  • サンプル ecalj/Samples/kBT/(§5)
  • MD/kBT/history.md: 2026-06〜09 の経緯、当時の計算の説明、直した誤り
  • ctrlg.<sname>.toml の [gw] セクション
  • 一発 GW の QP エネルギー、任意 k 線上の評価、 と実軸積分の診断は ecalj の MD/past_log.md §5 を見よ(2026-06 の手引き FiniteT_and_QPE_HOWTO.md の要点。本頁はその §1 を発展させたもの)