第3章: スケーリング則と火山型プロット

4つの段階のうち2つが独立に動くことを拒む理由と、それがあらゆる触媒に強いる代償

📖 Reading Time: 20-25 minutes 📊 Difficulty: Beginner 💻 Code Examples: 0 📝 Exercises: 0

ビデオ講義

このビデオは以下のテキストと同じ内容をカバーしています。お好みの学習形式をお選びください。

🌐 JP | 🇬🇧 EN | Last sync: 2026-08-18

マテリアルズ・インフォマティクス道場 > OERの計算化学 > 第3章

第2章は私たちに1台の機械を手渡しました。計算水素電極に4つの吸着自由エネルギー — \(\ast\text{OH}\)、\(\ast\text{O}\)、\(\ast\text{OOH}\) にそれぞれ1つずつ、そしてサイクルを閉じるための算術 — を与えれば、理論過電圧が返ってきます。当然次に思いつく一手は、想像しうるあらゆる表面についてハンドルを回し、勝ち残ったものを取っておくことです。

その方針はほとんど即座に壁に突き当たり、その壁こそが本章の主題です。3つの中間体は、化学者が望むとおりの姿でいられるわけではありません。そのうち2つは、金属の変更にも、酸化物の変更にも、ファセットの変更にも、配位環境の変更にも耐えて生き延びるほど頑固な規則性によって、互いに縛り合っています。その規則性をいったん受け入れれば、それに従うあらゆる触媒の過電圧の下に 床 が現れます — どれほど巧妙な合成をもってしても、どんな材料もそれを下回れない数値です。本章の目的は、その床を引用するのではなく導出すること、そしてまさに同じ制約が4次元の探索全体を1表面あたり1つの数値へと畳み込んでしまうさまを示すことです。

この最後の畳み込みこそ、悪い知らせの内側に埋め込まれた良い知らせであり、マテリアルズ・インフォマティクスが通り抜けてくる扉でもあります。

本章に登場するすべての数値についての注記

第4章の「触媒A」から「触媒E」に与えられている各段階の自由エネルギー変化、および本章のスイープは、架空の表面上の、説明のための教育用の数値 です。議論の幾何学を目に見えるようにするために選ばれています。測定値でもDFTの計算結果でもなく、実在の材料に帰属させては決していけません。唯一の経験的な入力は3.2節のスケーリング定数であり、それも近似的で、広く再現されている規則性として述べられています。その下流にあるもの — 床、頂点、火山型プロットの形 — はすべて、以下のコードによって計算されます。

3.1 3つの中間体、2種類の結合

第2章の4段階の会合機構を思い出してください。酸性条件では、

\[ \text{H}_2\text{O} + \ast \rightarrow \ast\text{OH} + \text{H}^+ + e^- \] \[ \ast\text{OH} \rightarrow \ast\text{O} + \text{H}^+ + e^- \] \[ \ast\text{O} + \text{H}_2\text{O} \rightarrow \ast\text{OOH} + \text{H}^+ + e^- \] \[ \ast\text{OOH} \rightarrow \ast + \text{O}_2 + \text{H}^+ + e^- \]

4回のプロトン共役電子移動であり、それらの自由エネルギーの総和は全体の反応によって固定されています。4つの段階は、2分子の水を酸素と水素へ分解する自由エネルギー、すなわち \(4 \times 1.23 = 4.92\) eV に足し合わさらなければなりません。この総和は調整できません。これは熱力学であり、白金についても、ある酸化イリジウムについても、シミュレーションの中にしか存在しない表面についても同じです。

ここで、各中間体が どのように 表面に付着しているのかを見てみましょう。\(\ast\text{OH}\) は1個の酸素原子を介して表面に載っており、そこから水素が1つ垂れ下がっています。\(\ast\text{OOH}\) もまた1個の酸素原子を介して表面に載っており、そこから \(\text{OOH}\) の尾が垂れ下がっています。対照的に \(\ast\text{O}\) は、2本の原子価を余らせた裸の酸素であり、はるかに強引に表面と関わります。

📚 1つの結合、2つの化学種

この構造上の要点は、ゆっくりと述べておく価値があります。この先に続くすべてが、その帰結だからです。

吸着種の視点から見れば、ある表面の化学は、おおむね 1本の結合を通じて酸素原子をどれだけ強くつかむか に要約されます。金属を変える、ドープする、歪みを加える — そうして表面をより酸素親和的(オキソフィリック)にすれば、表面は酸素をより強くつかみます。しかし \(\ast\text{OH}\) と \(\ast\text{OOH}\) は、どちらも 同じ種類の酸素に対する、同じ種類の1本の結合 を通じてつかまっています。表面が強く引けば、両方を強く引くのです。

したがってこの2つの化学種は、材料の変更に対して独立に応答するのではありません。両者は 一緒に 動きます。その結合エネルギーはほぼ歩調を揃えて上下し、酸素から垂れ下がっているもの — 一方は水素、他方は \(\text{OOH}\) 断片 — の違いを反映した、おおよそ一定の量だけずれています。

\(\ast\text{O}\) は例外であり、しかも明快な理由による例外です。1本ではなく 2本 の原子価を通じて結合するため、表面の酸素親和性の同じ変化に対して、およそ2倍の急峻さで応答します。\(\ast\text{O}\) だけが他の2つに対して相対的に動かせるのはこのためであり、3.4節の記述子がそこから組み立てられるのもこのためです。

3.2 スケーリング則

\(\Delta G_{\ast\text{OH}}\) と \(\Delta G_{\ast\text{OOH}}\) を、表面から表面へと次々に — 異なる金属、異なる酸化物、異なるファセット、異なる被覆率について — 計算し、一方を他方に対してプロットしてみてください。点は散らばりません。傾き1の直線の近くに、おおよそ一定のオフセットだけ上方へずらされて乗るのです。

\[ \Delta G_{\ast\text{OOH}} \approx \Delta G_{\ast\text{OH}} + \Delta_{\text{scal}} \]

このオフセット \(\Delta_{\text{scal}}\) は、およそ 3.2 eV という、広く再現されている経験的な結果 です。この数値は、本シリーズがあらゆる経験的入力を扱うのと同じように扱ってください。すなわち、実際のばらつきを伴う近似的な規則性であり、厳密だからではなく頑健だからこそ有用なもの、として。本章のいかなる内容も小数第3位には依存しません。すべてが依存しているのは、このオフセットが 大きく、そして 容易には変えられない という事実です。

📚 この関係がこれほど破りにくい理由

この特定のスケーリング則を並外れて頑固なものにしている性質が、3つあります。

これは幾何学的なものであり、調整可能という意味での電子的なものではありません。 オフセットを決めているのは、結合を担う酸素に何が付いているかという化学です。表面を変えれば、両方の 化学種が直線上のどこに座るかは変わりますが、直線そのものは変わりません。

平均化に耐えます。 個々の表面はこの関係の周りに、ときにはかなり大きく散らばります。しかしそのばらつきはおおむね対称であり、系統的なオフセットは材料のファミリー全体にわたって残り続けます。単純な線形モデルが、物珍しさではなく有用な設計上の制約になるのは、まさにこうした状況においてです。

これは法則ではありません。 この点は第5章にとって重要です。この関係は、特定の理論水準で扱われた特定のクラスの表面についての、経験的な規則性です。これを意図的に破る戦略 — 第2の吸着サイトで \(\ast\text{OOH}\) を安定化する、プロトンリレーを使う、\(\ast\text{OOH}\) がそもそも生成しないように機構そのものを変える — こそが、これから導出する床を打ち破りうる戦略です。この床は、この関係に従う触媒にとっての 床なのです。

この関係が悪い知らせである理由は次のとおりです。第2章の4つの段階の自由エネルギー変化は、4つの独立な設計変数のように見えていました。そうではありません。第2段階と第3段階は

\[ \Delta G_2 = \Delta G_{\ast\text{O}} - \Delta G_{\ast\text{OH}}, \qquad \Delta G_3 = \Delta G_{\ast\text{OOH}} - \Delta G_{\ast\text{O}} \]

であり、その 和は望遠鏡のように畳み込まれます。\(\Delta G_{\ast\text{O}}\) が相殺され、残るのは \(\Delta G_2 + \Delta G_3 = \Delta G_{\ast\text{OOH}} - \Delta G_{\ast\text{OH}}\) — まさにスケーリング則が押さえつけている量にほかなりません。4つの段階のうち2つが、溶接されて一体になってしまったのです。\(\ast\text{O}\) を動かすことで両者の間でエネルギーを行き来させることはできますが、その和を減らすことはできません。

3.3 床を導出する

ここまでで、厳然たる限界を計算するには十分です。しかもその導出は暗算でできるほど短い — だからこそ、それをコードにやらせ、そのうえでコードを総当たりのスキャンと突き合わせて確かめることにします。

2つの非負の数の和が \(S\) に固定されているとき、その 最大値 が取りうる最小の値は \(S/2\) であり、両者が等しいときに達成されます。反応全体の制限段階は、少なくとも \(\Delta G_2\) と \(\Delta G_3\) の大きいほうと同じだけの大きさを持ちます。そして理論過電圧は、その制限段階を電位として表したものから平衡電位を引いたものです。この3つの文を鎖のようにつなげば、床が転がり出てきます。

import numpy as np

# ------------------------------------------------------------------
# 2つの制約
#
#   E_EQ     : 4電子OERの平衡電位。これは定義(反応の標準電位)であって、
#              このコードが測定するものではない。
#   SUM_TOTAL: 4 x E_EQ。純粋な算術 -- 4つの段階の自由エネルギー変化は、
#              2分子の水を分解する自由エネルギーに足し合わさらねばならない。
#   SCALING  : *OOH / *OH のオフセット。経験的な規則性であり、酸化物表面
#              にわたっておよそ3.2 eVで広く再現されている。
#              ここではこれは入力であり、以下に現れるその帰結はすべて
#              引用ではなく計算されたものである。
# ------------------------------------------------------------------
E_EQ = 1.23
N_STEPS = 4
SUM_TOTAL = N_STEPS * E_EQ
SCALING = 3.2

print("Constraint 1 (thermodynamic sum)")
print(f"  dG1 + dG2 + dG3 + dG4 = {N_STEPS} x {E_EQ} eV = {SUM_TOTAL:.2f} eV")
print("Constraint 2 (scaling relation, empirical and approximate)")
print(f"  dG_OOH - dG_OH        = {SCALING:.2f} eV")
print()

# dG2 + dG3 = (dG_O - dG_OH) + (dG_OOH - dG_O) = dG_OOH - dG_OH.
# 中間の2段階は望遠鏡のように畳み込まれる: dG_O が相殺され、残るのは
# まさにスケーリング則が押さえつけている量である。
middle_pair = SCALING
best_max_step = middle_pair / 2.0        # 和が固定された2つの数の
                                         # 最大値が取りうる最良の値
eta_floor = best_max_step - E_EQ

print("Telescoping the middle pair")
print(f"  dG2 + dG3 = dG_OOH - dG_OH = {middle_pair:.2f} eV  (dG_O cancels)")
print(f"  the best a catalyst can do is split it evenly:")
print(f"    max(dG2, dG3) >= {middle_pair:.2f} / 2 = {best_max_step:.3f} eV")
print(f"    eta_floor      = {best_max_step:.3f} eV - {E_EQ} V "
      f"= {eta_floor:.3f} V")
print()

# 総当たり: このペアのどんな分割も、均等な分割に勝ることはない。
grid = np.linspace(0.0, SCALING, 320001)
limiting = np.maximum(grid, SCALING - grid)
i = int(np.argmin(limiting))
print("Brute-force check over every possible split of the pair")
print(f"  grid points scanned         : {grid.size}")
print(f"  best split, dG2             : {grid[i]:.5f} eV")
print(f"  best split, dG3             : {SCALING - grid[i]:.5f} eV")
print(f"  smallest achievable dG_max  : {limiting[i]:.5f} eV")
print(f"  implied overpotential floor : {limiting[i] - E_EQ:.5f} V")
print(f"  matches the analytic value  : "
      f"{np.isclose(limiting[i] - E_EQ, eta_floor)}")
print()

# 床が消えるためには、何が成り立っていなければならないのか?
needed = E_EQ * 2.0
print("Inverting the argument: which scaling constant would give eta = 0?")
print(f"  we would need dG_OOH - dG_OH = 2 x {E_EQ} = {needed:.2f} eV")
print(f"  nature appears to offer      ~ {SCALING:.2f} eV")
print(f"  the excess to be removed     = {SCALING - needed:.2f} eV")

出力:

Constraint 1 (thermodynamic sum)
  dG1 + dG2 + dG3 + dG4 = 4 x 1.23 eV = 4.92 eV
Constraint 2 (scaling relation, empirical and approximate)
  dG_OOH - dG_OH        = 3.20 eV

Telescoping the middle pair
  dG2 + dG3 = dG_OOH - dG_OH = 3.20 eV  (dG_O cancels)
  the best a catalyst can do is split it evenly:
    max(dG2, dG3) >= 3.20 / 2 = 1.600 eV
    eta_floor      = 1.600 eV - 1.23 V = 0.370 V

Brute-force check over every possible split of the pair
  grid points scanned         : 320001
  best split, dG2             : 1.60000 eV
  best split, dG3             : 1.60000 eV
  smallest achievable dG_max  : 1.60000 eV
  implied overpotential floor : 0.37000 V
  matches the analytic value  : True

Inverting the argument: which scaling constant would give eta = 0?
  we would need dG_OOH - dG_OH = 2 x 1.23 = 2.46 eV
  nature appears to offer      ~ 3.20 eV
  the excess to be removed     = 0.74 eV

結果を読み解く。 観察を3つ挙げます。

火山型プロットを組み立てる前に、注意を1つ。この床が当てはまるのは、スケーリング則に従い、この機構を経て進む触媒です。これは あるファミリー についての言明であって、酸素発生についての定理ではありません。第5章はまさにこの点に立ち返ります。

3.4 火山型プロット

床は最良の場合を教えてくれます。火山型プロット(volcano plot)は、最良の場合にいないときに何が起きるのかを教えてくれます — しかも 触媒1つにつき1つの数値 を使って。

その数値が 記述子

\[ x \equiv \Delta G_{\ast\text{O}} - \Delta G_{\ast\text{OH}} \]

であり、これはまさに第2段階の \(\Delta G_2\) にほかなりません。なぜ1つの数値で足りるのでしょうか。スケーリング則が、中間のペアの和をすでに固定してしまっているからです。\(\Delta G_2 = x\) が分かれば、第3段階は強制されます。\(\Delta G_3 = \Delta_{\text{scal}} - x\) です。溶接された2つの段階はいまや1パラメータの族となり、このペアの制限段階は \(\max(x,\; \Delta_{\text{scal}} - x)\) となります。

2本の枝が、1点で出会います。\(-\eta\) — 活性であり、高いほど良い — を \(x\) に対してプロットすれば、火山型プロットにその名を与えている逆V字が得られます。

以下のコードは記述子をスイープし、両方の枝を表にし、頂点を数値的に特定し、その数値的な頂点を代数と突き合わせて確認します。さらにもう1つ、通常は暗黙のままにされることを行います。他の 2つの段階が邪魔をせずにいるための条件を計算するのです。というのも、記述子1つの描像が妥当なのは、それらが邪魔をせずにいる間だけだからです。

from math import isclose

# ------------------------------------------------------------------
# 記述子 x = dG_O - dG_OH の上に構築される火山型プロット。
#
# スケーリング則が効いているとき、中間の2段階は
#     dG2 = dG_O   - dG_OH = x
#     dG3 = dG_OOH - dG_O  = SCALING - x
# であり、その最大値 -- 結合したペアの電位決定段階 -- は
# max(x, SCALING - x) となる。予測される過電圧は、その最大値から
# 平衡電位を引いたものである。
#
# 第1段階と第4段階はこの軸の上にはない。それらは dG_OH そのものに
# 依存し、それらが邪魔をせずにいる窓は以下で計算される。
# ------------------------------------------------------------------
def limiting_step(x):
    """(dG_max [eV], 電位決定段階のラベル) を返す。"""
    d2, d3 = x, SCALING - x
    return (d2, "step 2  *OH -> *O") if d2 >= d3 else (d3, "step 3  *O -> *OOH")

def volcano_eta(x):
    return limiting_step(x)[0] - E_EQ

print(f"{'x = dG_O - dG_OH':>17} {'dG2':>7} {'dG3':>7} {'dG_max':>8} "
      f"{'eta (V)':>8} {'activity -eta':>14}   potential-determining step")
for k in range(17):
    x = 0.80 + 0.10 * k
    dmax, label = limiting_step(x)
    eta = dmax - E_EQ
    print(f"{x:17.2f} {x:7.2f} {SCALING - x:7.2f} {dmax:8.2f} "
          f"{eta:8.3f} {-eta:14.3f}   {label}")
print()

# 頂点を細かいグリッド上で数値的に特定し、そのうえで代数と比較する。
N = 400001
xs = [0.0 + 4.0 * j / (N - 1) for j in range(N)]
etas = [volcano_eta(x) for x in xs]
j_best = min(range(N), key=lambda j: etas[j])
x_apex_numeric, eta_apex_numeric = xs[j_best], etas[j_best]
x_apex_analytic = SCALING / 2.0
eta_apex_analytic = x_apex_analytic - E_EQ

print("Apex of the volcano")
print(f"  numerical scan ({N} points)")
print(f"    x_apex   = {x_apex_numeric:.5f} eV")
print(f"    eta_apex = {eta_apex_numeric:.5f} V")
print(f"  algebra")
print(f"    x_apex   = SCALING / 2          = {x_apex_analytic:.5f} eV")
print(f"    eta_apex = SCALING / 2 - E_EQ   = {eta_apex_analytic:.5f} V")
print(f"  numerical apex matches algebra   : "
      f"{isclose(x_apex_numeric, x_apex_analytic, abs_tol=1e-5)} / "
      f"{isclose(eta_apex_numeric, eta_apex_analytic, abs_tol=1e-5)}")
print(f"  every scanned point is at or above the floor: "
      f"{all(e >= eta_apex_analytic - 1e-12 for e in etas)}")
print()

# 火山型プロットには閉じた形がある: eta ではV字、-eta では逆V字。
worst = max(abs(volcano_eta(x) - (eta_apex_analytic + abs(x - x_apex_analytic)))
            for x in xs)
print("Closed form of the whole curve")
print(f"  eta(x) = eta_floor + |x - x_apex|")
print(f"  largest deviation over {N} scanned points: {worst:.2e} V")
print()

# ------------------------------------------------------------------
# 2本の枝からなる火山型プロットは、いつ妥当なのか?
# 第1段階と第4段階は dG1 = dG_OH、dG4 = SUM_TOTAL - dG_OOH であり、
# スケーリング則のもとでは dG4 = SUM_TOTAL - SCALING - dG_OH となる。
# どちらも dG_max を超えてはならず、そのことが dG_OH を、計算可能な
# 1つの窓の中へ挟み込む。
# ------------------------------------------------------------------
tail_pair = SUM_TOTAL - SCALING
print(f"dG1 + dG4 = SUM_TOTAL - (dG_OOH - dG_OH) = {tail_pair:.2f} eV, "
      f"so dG4 = {tail_pair:.2f} - dG_OH")
print()
print(f"{'x':>6} {'dG_max':>8}   dG_OH window in which steps 1 and 4 stay out of the way")
for k in range(9):
    x = 0.80 + 0.20 * k
    dmax, _ = limiting_step(x)
    lo, hi = max(0.0, tail_pair - dmax), dmax
    print(f"{x:6.2f} {dmax:8.2f}   {lo:.2f} eV <= dG_OH <= {hi:.2f} eV"
          f"   (width {hi - lo:.2f} eV)")
print()
dmax_apex, _ = limiting_step(x_apex_analytic)
print(f"At the apex the window is "
      f"{max(0.0, tail_pair - dmax_apex):.2f} eV <= dG_OH <= {dmax_apex:.2f} eV")
print(f"  width = {dmax_apex - max(0.0, tail_pair - dmax_apex):.2f} eV")

出力:

 x = dG_O - dG_OH     dG2     dG3   dG_max  eta (V)  activity -eta   potential-determining step
             0.80    0.80    2.40     2.40    1.170         -1.170   step 3  *O -> *OOH
             0.90    0.90    2.30     2.30    1.070         -1.070   step 3  *O -> *OOH
             1.00    1.00    2.20     2.20    0.970         -0.970   step 3  *O -> *OOH
             1.10    1.10    2.10     2.10    0.870         -0.870   step 3  *O -> *OOH
             1.20    1.20    2.00     2.00    0.770         -0.770   step 3  *O -> *OOH
             1.30    1.30    1.90     1.90    0.670         -0.670   step 3  *O -> *OOH
             1.40    1.40    1.80     1.80    0.570         -0.570   step 3  *O -> *OOH
             1.50    1.50    1.70     1.70    0.470         -0.470   step 3  *O -> *OOH
             1.60    1.60    1.60     1.60    0.370         -0.370   step 2  *OH -> *O
             1.70    1.70    1.50     1.70    0.470         -0.470   step 2  *OH -> *O
             1.80    1.80    1.40     1.80    0.570         -0.570   step 2  *OH -> *O
             1.90    1.90    1.30     1.90    0.670         -0.670   step 2  *OH -> *O
             2.00    2.00    1.20     2.00    0.770         -0.770   step 2  *OH -> *O
             2.10    2.10    1.10     2.10    0.870         -0.870   step 2  *OH -> *O
             2.20    2.20    1.00     2.20    0.970         -0.970   step 2  *OH -> *O
             2.30    2.30    0.90     2.30    1.070         -1.070   step 2  *OH -> *O
             2.40    2.40    0.80     2.40    1.170         -1.170   step 2  *OH -> *O

Apex of the volcano
  numerical scan (400001 points)
    x_apex   = 1.60000 eV
    eta_apex = 0.37000 V
  algebra
    x_apex   = SCALING / 2          = 1.60000 eV
    eta_apex = SCALING / 2 - E_EQ   = 0.37000 V
  numerical apex matches algebra   : True / True
  every scanned point is at or above the floor: True

Closed form of the whole curve
  eta(x) = eta_floor + |x - x_apex|
  largest deviation over 400001 scanned points: 2.22e-16 V

dG1 + dG4 = SUM_TOTAL - (dG_OOH - dG_OH) = 1.72 eV, so dG4 = 1.72 - dG_OH

     x   dG_max   dG_OH window in which steps 1 and 4 stay out of the way
  0.80     2.40   0.00 eV <= dG_OH <= 2.40 eV   (width 2.40 eV)
  1.00     2.20   0.00 eV <= dG_OH <= 2.20 eV   (width 2.20 eV)
  1.20     2.00   0.00 eV <= dG_OH <= 2.00 eV   (width 2.00 eV)
  1.40     1.80   0.00 eV <= dG_OH <= 1.80 eV   (width 1.80 eV)
  1.60     1.60   0.12 eV <= dG_OH <= 1.60 eV   (width 1.48 eV)
  1.80     1.80   0.00 eV <= dG_OH <= 1.80 eV   (width 1.80 eV)
  2.00     2.00   0.00 eV <= dG_OH <= 2.00 eV   (width 2.00 eV)
  2.20     2.20   0.00 eV <= dG_OH <= 2.20 eV   (width 2.20 eV)
  2.40     2.40   0.00 eV <= dG_OH <= 2.40 eV   (width 2.40 eV)

At the apex the window is 0.12 eV <= dG_OH <= 1.60 eV
  width = 1.48 eV

結果を読み解く。 4つの要点があり、最後の1つが第5章へと引き継がれます。

火山型プロットが 必要としなかった ものに注目してください。\(\Delta G_{\ast\text{O}}\) と \(\Delta G_{\ast\text{OH}}\) を別々に要求したことは一度もなく、必要だったのはその差だけでした。これこそが畳み込みであり、名前を与えておく価値があります。

3.5 誰も頂点より上に座っていない理由

火山型プロットを経験的な観察として読みたくなるかもしれません — 多くの触媒が計算され、点がたまたま逆V字の下に収まり、誰かがその包絡線を描いた、という読み方です。この読み方は、論理を逆さまにしています。

頂点は、誰かが 見つけた 最良の点ではありません。制約のもとで 存在しうる 最良の点であり、上のコードはそれを2度証明しました。1度は代数によって、もう1度は網羅的なスキャンによって。スケーリング則に従う触媒はどれも、曲線の近くにある点ではなく、曲線の上にある点です。実際の火山型プロットに見えるばらつきは、スケーリング則そのもののばらつきです — 直線から外れる表面は曲線から外れて座り、\(\ast\text{OOH}\)/\(\ast\text{OH}\) のオフセットがより小さいという 正しい向き に外れた表面は、頂点より上に座ることになります。

これは議論の抜け穴ではありません。議論そのものが出している処方箋です。火山の上へ出る道は、この関係を破ることです。それ以外のすべて — よりよいファセット、よりよいドーパント、よりよいナノ構造化、より丁寧な合成 — は、あなたを曲線 に沿って 頂点へ近づけるだけであり、それはやる価値のあることですが、\(0.370\) V で見返りが尽きます。

楽観論者の読み方と悲観論者の読み方

悲観論者は言います。およそ 0.37 V の床とは、この化学の上に建てられるあらゆる水電解槽において、数百ミリボルトのエネルギーが永久に無駄になり続けるということだ、と。

楽観論者は言います。床とは 制約 についての言明であり、これほど精確に特定された制約は目標である、と。3.3節で計算された \(0.74\) eV という数値 — スケーリングのオフセットにおける超過分 — は、設計仕様です。それは、本当に新しい触媒アーキテクチャが \(\ast\text{OH}\) に対して \(\ast\text{OOH}\) をどれだけ安定化しなければならないのかを教えてくれます。

どちらの読み方も正しく、そして両者は同じ1つの文なのです。

3.6 材料1つにつき1つの数値

電気化学から一歩引いて、いま起きたことの形を眺めてみましょう。

私たちは4次元の問題 — 3つの吸着エネルギーと1つの機構 — から出発しました。そして 1変数の関数 にたどり着きました。この縮約は数値的な近似でもフィッティングでもありません。2つの制約 — 1つは熱力学的、1つは経験的 — から生じたものであり、そのそれぞれが自由度を1つ取り除いたのです。

これが 記述子 の考え方であり、本章の中で最も他分野へ持ち出しやすいものです。記述子とは、安価に得られる1つの数値であって、高価にしか得られない性能指標を予測してくれるものです。ここでの記述子は \(\Delta G_{\ast\text{O}} - \Delta G_{\ast\text{OH}}\) であり、指標は理論過電圧です。材料科学の他の場面であれば、吸着を予測する d バンド中心、ペロブスカイトが形成されるかどうかを予測する許容因子、安定性を予測する生成エネルギーなどがそれにあたるでしょう。

📚 記述子が買ってくれるもの、そして支払わせるもの

スクリーニングを買ってくれます。 候補ごとに4つの中間体すべてを扱う完全な計算を走らせる代わりに、1つの量を計算して曲線から答えを読み取るのです。第4章は5つの表面についてまさにこれを行い、この近道が長い計算を厳密に再現することを確認します。

解釈可能性を買ってくれます。 1次元のモデルはプロットでき、議論の的にでき、逆向きに推論するのにも使えます。「\(x\) を 0.2 eV 下げる必要がある」は、「もっとよい触媒が必要だ」にはない意味で、行動に移せる文です。

一般性を、しかも黙って支払わせます。 記述子は、それを生み出した制約と同じ程度にしか良くありません。スケーリング則を破る材料を食わせれば、記述子は自信たっぷりに誤った答えを返します。式のどこにも、関係が破綻したことを知っている部分がないからです。警告してはくれません。3.4節で計算した妥当性の窓は、組み込める検査の一例です。他にもありますが、たいていのスクリーニングのパイプラインは、そのどれ1つとして備えていません。

この最後の項目こそ、機械学習が入り込んでくる場所であり、そして機械学習が危険になる場所です。1つの数値が高価な計算の代わりを務めうると認めてしまえば、次に自然と浮かぶ考えはこうです。なぜ1つの数値で止めるのか、そしてなぜそれを人間が導出しなければならないと言い張るのか、と。数千の候補にわたって構造から活性へと至る写像をそのまま学習させ、モデル自身に記述子を見つけさせればよい、というわけです。

それが第5章の主題であり、その警告でもあります。学習された記述子は、訓練に使われたデータに焼き込まれたあらゆる仮定を受け継ぎます — 第2章で見た計算水素電極そのものの近似も、スケーリング則そのものも含めて。すべてがこの関係に従う表面の上で訓練されたモデルは、床もろとも火山型プロットを自信たっぷりに再現し、そして興味深い材料とは自分が一度も見たことのないもののほうだ、と告げる手立てを何一つ持たないのです。

🎯 演習問題

  1. 定数を動かす。 スケーリングのオフセットを \(3.0\)、\(3.2\)、\(3.4\) eV として、床の計算を走らせ直してください。得られる床と頂点の位置を表にまとめてください。オフセットが 0.1 eV 増えるごとに、床は何ミリボルトの代償を要求するでしょうか。そして、その答えがちょうどその値になる理由は何でしょうか。
  2. 大目に見てもらえるかという問い。 閉じた形 \(\eta = \eta_{\text{floor}} + |x - x_{\text{apex}}|\) を用いて、過電圧が \(0.60\) V を超えるまでに記述子が頂点からどれだけ離れてよいかを計算してください。その許容幅をDFTの吸着エネルギーの典型的なばらつきと比較し、スクリーニングの精度にとって何を意味するのかを論じてください。
  3. 窓を破る。 \(x = 1.60\) eV でありながら \(\Delta G_{\ast\text{OH}} = 1.90\) eV であるような、説明のための表面を構成してください。4つの段階の自由エネルギー変化と過電圧を直接計算してください。どの段階が制限するでしょうか。また、記述子1つの火山型プロットは \(\eta\) をどれだけ過小に予測するでしょうか。あなたの答えを、出力された妥当性の窓と結びつけてください。
  4. 別の溶接。 ある新しいクラスの表面が、代わりに \(\Delta G_{\ast\text{OOH}} \approx \Delta G_{\ast\text{OH}} + 2.8\) eV に従うとしましょう。床と頂点を計算し直し、そのオフセットが達成可能であるためには、そうした表面について物理的に何が成り立っていなければならないのかを明確に述べてください。
  5. 記述子の監査。 あなた自身の分野で使われている記述子を1つ選んでください。(a) 問題をその記述子へ畳み込むことを正当化している制約または近似、(b) その制約が破綻する材料のクラス、(c) その破綻を検知できる、安価に計算可能な検査、をそれぞれ書き出してください。(c) に答えられない場合、そのことが、その記述子をスクリーニングに使うことについて何を意味するのかを述べてください。

まとめ

本章は、第2章の4段階の機構を1つの制約へ、そしてさらに1枚の地図へと変えました。スケーリング則 \(\Delta G_{\ast\text{OOH}} \approx \Delta G_{\ast\text{OH}} + \Delta_{\text{scal}}\) — ここで \(\Delta_{\text{scal}}\) はおよそ \(3.2\) eV という、広く再現されている経験的なオフセットです — が成り立つのは、\(\ast\text{OH}\) と \(\ast\text{OOH}\) がどちらも1個の酸素を介して表面に付着し、したがって表面の酸素親和性のいかなる変化に対しても一緒に応答するからです。2本の原子価を通じて結合する \(\ast\text{O}\) だけが、独立に動かせる唯一の中間体です。その帰結として、第2段階と第3段階は 望遠鏡のように畳み込まれて溶接されたペアとなり、その和は \(\Delta_{\text{scal}}\) に等しくなります — 4つの設計変数のうち2つが消えたのです。固定された総和 \(4 \times 1.23 = 4.92\) eV とその溶接された和から、私たちのコードは過電圧の 床 \(0.370\) V を導出し、320,001通りの分割にわたる総当たりのスキャンでそれを確認し、さらに議論を逆転させて、完璧な触媒には \(2.46\) eV のオフセットが必要であること — すなわち、最適化ではなく化学によって取り除かれるべき約 \(0.74\) eV の超過分があること — を示しました。ただ1つの 記述子 \(x = \Delta G_{\ast\text{O}} - \Delta G_{\ast\text{OH}}\) へ畳み込むと 火山型プロット が現れます。強く吸着する側の斜面では第3段階が制限し、弱く吸着する側の斜面では第2段階が制限し、頂点は \(x = 1.60\) eV に床の値とともに位置していて、400,001点の数値スキャンがそれと一致しました。曲線全体はマシン精度で \(\eta = \eta_{\text{floor}} + |x - x_{\text{apex}}|\) に従うので、頂点からの距離はそのまま1対1で過電圧へ変換されます。さらに \(\Delta G_{\ast\text{OH}}\) についての 妥当性の窓 — 頂点においては \(0.12\) から \(1.60\) eV — も計算しました。その内側では第1段階と第4段階が邪魔をせずにいてくれて、記述子1つの描像が完結します。

第4章はこれを実際に働かせます。5つの架空の触媒についてNumPyで小さなスクリーニングのパイプラインを組み立て、電位ゼロと平衡電位における自由エネルギー図を構成し、過電圧で順位づけし、そのうえで記述子1つの火山型プロットがその順位を厳密に再現することを検証します — 近道と長い計算が、桁の1つに至るまで一致するのです。そうでなければならないのですから。

← 第2章: 計算水素電極 第4章: ハンズオン: Pythonによるスクリーニング →

免責事項